Now on revision 110025. ------------------------------------------------------------ revno: 110025 committer: martin rudalics branch nick: trunk timestamp: Fri 2012-09-14 08:55:38 +0200 message: In Fformat_mode_line always save/restore current buffer. (Bug#12387) * xdisp.c (Fformat_mode_line): Unconditionally save/restore current buffer. (Bug#12387) diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-09-14 01:22:21 +0000 +++ src/ChangeLog 2012-09-14 06:55:38 +0000 @@ -1,3 +1,8 @@ +2012-09-14 Martin Rudalics + + * xdisp.c (Fformat_mode_line): Unconditionally save/restore + current buffer (Bug#12387). + 2012-09-14 Juanma Barranquero * makefile.w32-in ($(BLD)/alloc.$(O)): Update dependencies. === modified file 'src/xdisp.c' --- src/xdisp.c 2012-09-12 00:14:50 +0000 +++ src/xdisp.c 2012-09-14 06:55:38 +0000 @@ -21039,8 +21039,7 @@ : EQ (face, Qtool_bar) ? TOOL_BAR_FACE_ID : DEFAULT_FACE_ID; - if (XBUFFER (buffer) != current_buffer) - old_buffer = current_buffer; + old_buffer = current_buffer; /* Save things including mode_line_proptrans_alist, and set that to nil so that we don't alter the outer value. */ @@ -21051,8 +21050,7 @@ mode_line_proptrans_alist = Qnil; Fselect_window (window, Qt); - if (old_buffer) - set_buffer_internal_1 (XBUFFER (buffer)); + set_buffer_internal_1 (XBUFFER (buffer)); init_iterator (&it, w, -1, -1, NULL, face_id); ------------------------------------------------------------ revno: 110024 committer: Stefan Monnier branch nick: trunk timestamp: Thu 2012-09-13 23:55:16 -0400 message: * lisp/emacs-lisp/edebug.el: Miscellaneous cleanup. Remove obsolete byte-compiler hack that tried to silence some warnings. (edebug-submit-bug-report): Remove. (edebug-get-buffer-window, edebug-sit-for, edebug-input-pending-p): Remove aliases, use the un-prefixed name instead. (edebug-pop-to-buffer): Consider other frames. (edebug-original-read):: Make it more obvious that it's always defined. (edebug--make-form-data-entry, edebug--form-data-name) (edebug--form-data-begin, edebug--form-data-end): Rename from the single-dashed name, and implement with cl-defstruct. (edebug-set-form-data-entry): Use the standard accessors. (edebug-make-top-form-data-entry): Use push. (edebug-no-match): Drop useless `funcall'. (mapcar, mapconcat, mapatoms, apply, funcall): Don't add debug specs to functions. (defsubst, dont-compile, eval-when-compile, eval-and-compile) (delay-mode-hooks, with-temp-file, with-temp-message, ad-dolist) (with-syntax-table, push, pop, 1value, noreturn, defadvice) (easy-menu-define, with-custom-print): Remove redundant specs. (edebug-outside-overriding-local-map) (edebug-outside-overriding-terminal-local-map): Remove, unused. (edebug--display): Bind unread-command-events directly to nil rather than binding it to unread-command-events and later setting it to nil. (edebug--display): Kill edebug-eval-buffer here... (edebug--recursive-edit): ...rather than here. Bind standard-output and standard-input. (edebug-eval): Check cl-macroexpand-all is fboundp. (edebug-temp-display-freq-count): Fix last change. * lisp/emacs-lisp/easymenu.el (easy-menu-define): Add `debug' spec. * lisp/subr.el (noreturn, 1value): Add `debug' spec. * lisp/emacs-lisp/advice.el: Require cl-lib. (ad-copy-tree): Remove, use copy-tree instead. (ad-dolist): Remove use dolist or cl-dolist instead. (ad-do-return): Remove, use cl-return instead. (defadvice): Add `debug' spec. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-09-13 23:42:39 +0000 +++ lisp/ChangeLog 2012-09-14 03:55:16 +0000 @@ -1,3 +1,42 @@ +2012-09-14 Stefan Monnier + + * emacs-lisp/edebug.el: Miscellaneous cleanup. + Remove obsolete byte-compiler hack that tried to silence some warnings. + (edebug-submit-bug-report): Remove. + (edebug-get-buffer-window, edebug-sit-for, edebug-input-pending-p): + Remove aliases, use the un-prefixed name instead. + (edebug-pop-to-buffer): Consider other frames. + (edebug-original-read):: Make it more obvious that it's always defined. + (edebug--make-form-data-entry, edebug--form-data-name) + (edebug--form-data-begin, edebug--form-data-end): Rename from the + single-dashed name, and implement with cl-defstruct. + (edebug-set-form-data-entry): Use the standard accessors. + (edebug-make-top-form-data-entry): Use push. + (edebug-no-match): Drop useless `funcall'. + (mapcar, mapconcat, mapatoms, apply, funcall): Don't add debug specs + to functions. + (defsubst, dont-compile, eval-when-compile, eval-and-compile) + (delay-mode-hooks, with-temp-file, with-temp-message, ad-dolist) + (with-syntax-table, push, pop, 1value, noreturn, defadvice) + (easy-menu-define, with-custom-print): Remove redundant specs. + (edebug-outside-overriding-local-map) + (edebug-outside-overriding-terminal-local-map): Remove, unused. + (edebug--display): Bind unread-command-events directly to nil rather + than binding it to unread-command-events and later setting it to nil. + (edebug--display): Kill edebug-eval-buffer here... + (edebug--recursive-edit): ...rather than here. + Bind standard-output and standard-input. + (edebug-eval): Check cl-macroexpand-all is fboundp. + (edebug-temp-display-freq-count): Fix last change. + + * emacs-lisp/easymenu.el (easy-menu-define): Add `debug' spec. + * subr.el (noreturn, 1value): Add `debug' spec. + * emacs-lisp/advice.el: Require cl-lib. + (ad-copy-tree): Remove, use copy-tree instead. + (ad-dolist): Remove use dolist or cl-dolist instead. + (ad-do-return): Remove, use cl-return instead. + (defadvice): Add `debug' spec. + 2012-09-13 Juri Linkov * dired-aux.el (dired-do-chxxx): Use `eq' to detect empty input. === modified file 'lisp/dired.el' --- lisp/dired.el 2012-09-08 14:48:26 +0000 +++ lisp/dired.el 2012-09-14 03:55:16 +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" "4b260eda371d319a6c8e8e5ec917e287") +;;;;;; dired-diff) "dired-aux" "dired-aux.el" "22ce64daa7ccb5698cb6b1279aa59ec2") ;;; Generated autoloads from dired-aux.el (autoload 'dired-diff "dired-aux" "\ === modified file 'lisp/emacs-lisp/advice.el' --- lisp/emacs-lisp/advice.el 2012-07-26 01:27:33 +0000 +++ lisp/emacs-lisp/advice.el 2012-09-14 03:55:16 +0000 @@ -1,4 +1,4 @@ -;;; advice.el --- an overloading mechanism for Emacs Lisp functions +;;; advice.el --- An overloading mechanism for Emacs Lisp functions ;; Copyright (C) 1993-1994, 2000-2012 Free Software Foundation, Inc. @@ -1746,7 +1746,7 @@ (provide 'advice-preload) ;; During a normal load this is a noop: (require 'advice-preload "advice.el") - +(eval-when-compile (require 'cl-lib)) ;; @@ Variable definitions: ;; ======================== @@ -1812,54 +1812,6 @@ (funcall fUnCtIoN tReE)) (t tReE))) -;; this is just faster than `ad-substitute-tree': -(defun ad-copy-tree (tree) - "Return a copy of the list structure of TREE." - (cond ((consp tree) - (cons (ad-copy-tree (car tree)) - (ad-copy-tree (cdr tree)))) - (t tree))) - -(defmacro ad-dolist (varform &rest body) - "A Common-Lisp-style dolist iterator with the following syntax: - - (ad-dolist (VAR INIT-FORM [RESULT-FORM]) - BODY-FORM...) - -which will iterate over the list yielded by INIT-FORM binding VAR to the -current head at every iteration. If RESULT-FORM is supplied its value will -be returned at the end of the iteration, nil otherwise. The iteration can be -exited prematurely with `(ad-do-return [VALUE])'." - (let ((expansion - `(let ((ad-dO-vAr ,(car (cdr varform))) - ,(car varform)) - (while ad-dO-vAr - (setq ,(car varform) (car ad-dO-vAr)) - ,@body - ;;work around a backquote bug: - ;;(` ((,@ '(foo)) (bar))) => (append '(foo) '(((bar)))) wrong - ;;(` ((,@ '(foo)) (, '(bar)))) => (append '(foo) (list '(bar))) - ,'(setq ad-dO-vAr (cdr ad-dO-vAr))) - ,(car (cdr (cdr varform)))))) - ;;ok, this wastes some cons cells but only during compilation: - (if (catch 'contains-return - (ad-substitute-tree - (function (lambda (subtree) - (cond ((eq (car-safe subtree) 'ad-dolist)) - ((eq (car-safe subtree) 'ad-do-return) - (throw 'contains-return t))))) - 'identity body) - nil) - `(catch 'ad-dO-eXiT ,expansion) - expansion))) - -(defmacro ad-do-return (value) - `(throw 'ad-dO-eXiT ,value)) - -(if (not (get 'ad-dolist 'lisp-indent-hook)) - (put 'ad-dolist 'lisp-indent-hook 1)) - - ;; @@ Save real definitions of subrs used by Advice: ;; ================================================= ;; Advice depends on the real, unmodified functionality of various subrs, @@ -1924,16 +1876,16 @@ ad-advised-functions))) (defmacro ad-do-advised-functions (varform &rest body) - "`ad-dolist'-style iterator that maps over `ad-advised-functions'. + "`dolist'-style iterator that maps over `ad-advised-functions'. \(ad-do-advised-functions (VAR [RESULT-FORM]) BODY-FORM...) On each iteration VAR will be bound to the name of an advised function \(a symbol)." - `(ad-dolist (,(car varform) + `(cl-dolist (,(car varform) ad-advised-functions ,(car (cdr varform))) - (setq ,(car varform) (intern (car ,(car varform)))) - ,@body)) + (setq ,(car varform) (intern (car ,(car varform)))) + ,@body)) (if (not (get 'ad-do-advised-functions 'lisp-indent-hook)) (put 'ad-do-advised-functions 'lisp-indent-hook 1)) @@ -1948,7 +1900,7 @@ `(put ,function 'ad-advice-info ,advice-info)) (defmacro ad-copy-advice-info (function) - `(ad-copy-tree (get ,function 'ad-advice-info))) + `(copy-tree (get ,function 'ad-advice-info))) (defmacro ad-is-advised (function) "Return non-nil if FUNCTION has any advice info associated with it. @@ -2022,8 +1974,8 @@ (defun ad-has-enabled-advice (function class) "True if at least one of FUNCTION's advices in CLASS is enabled." - (ad-dolist (advice (ad-get-advice-info-field function class)) - (if (ad-advice-enabled advice) (ad-do-return t)))) + (cl-dolist (advice (ad-get-advice-info-field function class)) + (if (ad-advice-enabled advice) (cl-return t)))) (defun ad-has-redefining-advice (function) "True if FUNCTION's advice info defines at least 1 redefining advice. @@ -2036,14 +1988,14 @@ (defun ad-has-any-advice (function) "True if the advice info of FUNCTION defines at least one advice." (and (ad-is-advised function) - (ad-dolist (class ad-advice-classes nil) + (cl-dolist (class ad-advice-classes nil) (if (ad-get-advice-info-field function class) - (ad-do-return t))))) + (cl-return t))))) (defun ad-get-enabled-advices (function class) "Return the list of enabled advices of FUNCTION in CLASS." (let (enabled-advices) - (ad-dolist (advice (ad-get-advice-info-field function class)) + (dolist (advice (ad-get-advice-info-field function class)) (if (ad-advice-enabled advice) (push advice enabled-advices))) (reverse enabled-advices))) @@ -2151,7 +2103,7 @@ (ad-do-advised-functions (function) (if (or (null predicate) (funcall predicate function)) - (ad-do-return function))) + (cl-return function))) (error "ad-read-advised-function: %s" "There are no qualifying advised functions"))) (let* ((ad-pReDiCaTe predicate) @@ -2184,9 +2136,9 @@ class of FUNCTION)." (setq default (or default - (ad-dolist (class ad-advice-classes) + (cl-dolist (class ad-advice-classes) (if (ad-get-advice-info-field function class) - (ad-do-return class))) + (cl-return class))) (error "ad-read-advice-class: `%s' has no advices" function))) (let ((class (completing-read (format "%s (default %s): " (or prompt "Class") default) @@ -2255,18 +2207,18 @@ If CLASS is `any' all valid advice classes will be checked." (if (ad-is-advised function) (let (found-advice) - (ad-dolist (advice-class ad-advice-classes) + (cl-dolist (advice-class ad-advice-classes) (if (or (eq class 'any) (eq advice-class class)) (setq found-advice - (ad-dolist (advice (ad-get-advice-info-field + (cl-dolist (advice (ad-get-advice-info-field function advice-class)) (if (or (and (stringp name) (string-match name (symbol-name (ad-advice-name advice)))) (eq name (ad-advice-name advice))) - (ad-do-return advice))))) - (if found-advice (ad-do-return found-advice)))))) + (cl-return advice))))) + (if found-advice (cl-return found-advice)))))) (defun ad-enable-advice-internal (function class name flag) "Set enable FLAG of FUNCTION's advices in CLASS matching NAME. @@ -2277,10 +2229,10 @@ FUNCTION was not advised)." (if (ad-is-advised function) (let ((matched-advices 0)) - (ad-dolist (advice-class ad-advice-classes) + (dolist (advice-class ad-advice-classes) (if (or (eq class 'any) (eq advice-class class)) - (ad-dolist (advice (ad-get-advice-info-field - function advice-class)) + (dolist (advice (ad-get-advice-info-field + function advice-class)) (cond ((or (and (stringp name) (string-match name (symbol-name (ad-advice-name advice)))) @@ -2868,8 +2820,8 @@ (if origdoc (setq paragraphs (list origdoc))) (unless (eq style 'plain) (push (concat "This " origtype " is advised.") paragraphs)) - (ad-dolist (class ad-advice-classes) - (ad-dolist (advice (ad-get-enabled-advices function class)) + (dolist (class ad-advice-classes) + (dolist (advice (ad-get-enabled-advices function class)) (setq advice-docstring (ad-make-single-advice-docstring advice class style)) (if advice-docstring @@ -2891,24 +2843,24 @@ (defun ad-advised-arglist (function) "Find first defined arglist in FUNCTION's redefining advices." - (ad-dolist (advice (append (ad-get-enabled-advices function 'before) + (cl-dolist (advice (append (ad-get-enabled-advices function 'before) (ad-get-enabled-advices function 'around) (ad-get-enabled-advices function 'after))) (let ((arglist (ad-arglist (ad-advice-definition advice)))) (if arglist ;; We found the first one, use it: - (ad-do-return arglist))))) + (cl-return arglist))))) (defun ad-advised-interactive-form (function) "Find first interactive form in FUNCTION's redefining advices." - (ad-dolist (advice (append (ad-get-enabled-advices function 'before) + (cl-dolist (advice (append (ad-get-enabled-advices function 'before) (ad-get-enabled-advices function 'around) (ad-get-enabled-advices function 'after))) (let ((interactive-form (ad-interactive-form (ad-advice-definition advice)))) (if interactive-form ;; We found the first one, use it: - (ad-do-return interactive-form))))) + (cl-return interactive-form))))) ;; @@@ Putting it all together: ;; ============================ @@ -2997,29 +2949,29 @@ should be modified. The assembled function will be returned." (let (before-forms around-form around-form-protected after-forms definition) - (ad-dolist (advice befores) - (cond ((and (ad-advice-protected advice) - before-forms) - (setq before-forms - `((unwind-protect - ,(ad-prognify before-forms) - ,@(ad-body-forms - (ad-advice-definition advice)))))) - (t (setq before-forms - (append before-forms - (ad-body-forms (ad-advice-definition advice))))))) + (dolist (advice befores) + (cond ((and (ad-advice-protected advice) + before-forms) + (setq before-forms + `((unwind-protect + ,(ad-prognify before-forms) + ,@(ad-body-forms + (ad-advice-definition advice)))))) + (t (setq before-forms + (append before-forms + (ad-body-forms (ad-advice-definition advice))))))) (setq around-form `(setq ad-return-value ,orig)) - (ad-dolist (advice (reverse arounds)) - ;; If any of the around advices is protected then we - ;; protect the complete around advice onion: - (if (ad-advice-protected advice) - (setq around-form-protected t)) - (setq around-form - (ad-substitute-tree - (function (lambda (form) (eq form 'ad-do-it))) - (function (lambda (form) around-form)) - (ad-prognify (ad-body-forms (ad-advice-definition advice)))))) + (dolist (advice (reverse arounds)) + ;; If any of the around advices is protected then we + ;; protect the complete around advice onion: + (if (ad-advice-protected advice) + (setq around-form-protected t)) + (setq around-form + (ad-substitute-tree + (function (lambda (form) (eq form 'ad-do-it))) + (function (lambda (form) around-form)) + (ad-prognify (ad-body-forms (ad-advice-definition advice)))))) (setq after-forms (if (and around-form-protected before-forms) @@ -3027,17 +2979,17 @@ ,(ad-prognify before-forms) ,around-form)) (append before-forms (list around-form)))) - (ad-dolist (advice afters) - (cond ((and (ad-advice-protected advice) - after-forms) - (setq after-forms - `((unwind-protect - ,(ad-prognify after-forms) - ,@(ad-body-forms - (ad-advice-definition advice)))))) - (t (setq after-forms - (append after-forms - (ad-body-forms (ad-advice-definition advice))))))) + (dolist (advice afters) + (cond ((and (ad-advice-protected advice) + after-forms) + (setq after-forms + `((unwind-protect + ,(ad-prognify after-forms) + ,@(ad-body-forms + (ad-advice-definition advice)))))) + (t (setq after-forms + (append after-forms + (ad-body-forms (ad-advice-definition advice))))))) (setq definition `(,@(if (memq type '(macro special-form)) '(macro)) @@ -3171,11 +3123,11 @@ (nth 2 cache-id))))) (defun ad-verify-cache-class-id (cache-class-id advices) - (ad-dolist (advice advices (null cache-class-id)) + (cl-dolist (advice advices (null cache-class-id)) (if (ad-advice-enabled advice) (if (eq (car cache-class-id) (ad-advice-name advice)) (setq cache-class-id (cdr cache-class-id)) - (ad-do-return nil))))) + (cl-return nil))))) ;; There should be a way to monitor if and why a cache verification failed ;; in order to determine whether a certain preactivation could be used or @@ -3670,7 +3622,16 @@ usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...) [DOCSTRING] [INTERACTIVE-FORM] BODY...)" - (declare (doc-string 3)) + (declare (doc-string 3) + (debug (&define name ;; thing being advised. + (name ;; class is [&or "before" "around" "after" + ;; "activation" "deactivation"] + name ;; name of advice + &rest sexp ;; optional position and flags + ) + [&optional stringp] + [&optional ("interactive" interactive)] + def-body))) (if (not (ad-name-p function)) (error "defadvice: Invalid function name: %s" function)) (let* ((class (car args)) === modified file 'lisp/emacs-lisp/easymenu.el' --- lisp/emacs-lisp/easymenu.el 2012-06-10 13:28:26 +0000 +++ lisp/emacs-lisp/easymenu.el 2012-09-14 03:55:16 +0000 @@ -148,7 +148,7 @@ as a solid horizontal line. A menu item can be a list with the same format as MENU. This is a submenu." - (declare (indent defun)) + (declare (indent defun) (debug (symbolp body))) `(progn ,(if symbol `(defvar ,symbol nil ,doc)) (easy-menu-do-define (quote ,symbol) ,maps ,doc ,menu))) === modified file 'lisp/emacs-lisp/edebug.el' --- lisp/emacs-lisp/edebug.el 2012-09-13 02:29:05 +0000 +++ lisp/emacs-lisp/edebug.el 2012-09-14 03:55:16 +0000 @@ -52,10 +52,7 @@ ;;; Code: (require 'macroexp) - -;;; Bug reporting - -(defalias 'edebug-submit-bug-report 'report-emacs-bug) +(eval-when-compile (require 'cl-lib)) ;;; Options @@ -362,6 +359,7 @@ ;; Select WINDOW if it is provided and still exists. Otherwise, ;; if buffer is currently shown in several windows, choose one. ;; Otherwise, find a new window, possibly splitting one. + ;; FIXME: We should probably just be using `pop-to-buffer'. (setq window (cond ((and (edebug-window-live-p window) @@ -370,7 +368,7 @@ ((eq (window-buffer (selected-window)) buffer) ;; Selected window already displays BUFFER. (selected-window)) - ((edebug-get-buffer-window buffer)) + ((get-buffer-window buffer 0)) ((one-window-p 'nomini) ;; When there's one window only, split it. (split-window)) @@ -443,18 +441,14 @@ window-info) (set-window-configuration window-info))) -(defalias 'edebug-get-buffer-window 'get-buffer-window) -(defalias 'edebug-sit-for 'sit-for) -(defalias 'edebug-input-pending-p 'input-pending-p) - - ;;; Redefine read and eval functions ;; read is redefined to maybe instrument forms. ;; eval-defun is redefined to check edebug-all-forms and edebug-all-defs. ;; Save the original read function -(or (fboundp 'edebug-original-read) - (defalias 'edebug-original-read (symbol-function 'read))) +(defalias 'edebug-original-read + (symbol-function (if (fboundp 'edebug-original-read) + 'edebug-original-read 'read))) (defun edebug-read (&optional stream) "Read one Lisp expression as text from STREAM, return as Lisp object. @@ -621,8 +615,8 @@ (defvar-local edebug-form-data nil "A list of entries associating symbols with buffer regions. -This is an automatic buffer local variable. Each entry looks like: -\(SYMBOL BEGIN-MARKER END-MARKER). The markers +Each entry is an `edebug--form-data' struct with fields: +SYMBOL, BEGIN-MARKER, and END-MARKER. The markers are at the beginning and end of an entry level form and SYMBOL is a symbol that holds all edebug related information for the form on its property list. @@ -631,24 +625,17 @@ be stored in the definitions themselves rather than in the property list of a symbol.") -;; FIXME: Use cl-defstruct. - -(defun edebug-make-form-data-entry (symbol begin end) - (list symbol begin end)) - -(defsubst edebug-form-data-name (entry) - (car entry)) - -(defsubst edebug-form-data-begin (entry) - (nth 1 entry)) - -(defsubst edebug-form-data-end (entry) - (nth 2 entry)) +(cl-defstruct (edebug--form-data + ;; Some callers expect accessors to return nil when passed nil. + (:type list) + (:constructor edebug--make-form-data-entry (name begin end)) + (:predicate nil) (:constructor nil) (:copier nil)) + name begin end) (defsubst edebug-set-form-data-entry (entry name begin end) - (setcar entry name) ;; In case name is changed. - (set-marker (nth 1 entry) begin) - (set-marker (nth 2 entry) end)) + (setf (edebug--form-data-name entry) name) ;; In case name is changed. + (set-marker (edebug--form-data-begin entry) begin) + (set-marker (edebug--form-data-end entry) end)) (defun edebug-get-form-data-entry (pnt &optional end-point) ;; Find the edebug form data entry which is closest to PNT. @@ -656,17 +643,17 @@ ;; Return `nil' if none found. (let ((rest edebug-form-data) closest-entry - (closest-dist 999999)) ;; need maxint here + (closest-dist 999999)) ;; Need maxint here. (while (and rest (< 0 closest-dist)) (let* ((entry (car rest)) - (begin (edebug-form-data-begin entry)) + (begin (edebug--form-data-begin entry)) (dist (- pnt begin))) (setq rest (cdr rest)) (if (and (<= 0 dist) (< dist closest-dist) (or (not end-point) - (= end-point (edebug-form-data-end entry))) - (<= pnt (edebug-form-data-end entry))) + (= end-point (edebug--form-data-end entry))) + (<= pnt (edebug--form-data-end entry))) (setq closest-dist dist closest-entry entry)))) closest-entry)) @@ -675,19 +662,19 @@ ;; and find an entry given a symbol, which should be just assq. (defun edebug-form-data-symbol () -;; Return the edebug data symbol of the form where point is in. -;; If point is not inside a edebuggable form, cause error. - (or (edebug-form-data-name (edebug-get-form-data-entry (point))) + "Return the edebug data symbol of the form where point is in. +If point is not inside a edebuggable form, cause error." + (or (edebug--form-data-name (edebug-get-form-data-entry (point))) (error "Not inside instrumented form"))) (defun edebug-make-top-form-data-entry (new-entry) ;; Make NEW-ENTRY the first element in the `edebug-form-data' list. (edebug-clear-form-data-entry new-entry) - (setq edebug-form-data (cons new-entry edebug-form-data))) + (push new-entry edebug-form-data)) (defun edebug-clear-form-data-entry (entry) -;; If non-nil, clear ENTRY out of the form data. -;; Maybe clear the markers and delete the symbol's edebug property? + "If non-nil, clear ENTRY out of the form data. +Maybe clear the markers and delete the symbol's edebug property?" (if entry (progn ;; Instead of this, we could just find all contained forms. @@ -1285,7 +1272,7 @@ ;; Set this marker before parsing. (edebug-form-begin-marker (if form-data-entry - (edebug-form-data-begin form-data-entry) + (edebug--form-data-begin form-data-entry) ;; Buffer must be current-buffer for this to work: (set-marker (make-marker) form-begin)))) @@ -1295,7 +1282,7 @@ ;; For definitions. ;; (edebug-containing-def-name edebug-def-name) ;; Get name from form-data, if any. - (edebug-old-def-name (edebug-form-data-name form-data-entry)) + (edebug-old-def-name (edebug--form-data-name form-data-entry)) edebug-def-name edebug-def-args edebug-def-interactive @@ -1325,7 +1312,7 @@ ;; In the latter case, pointers to the entry remain eq. (if (not form-data-entry) (setq form-data-entry - (edebug-make-form-data-entry + (edebug--make-form-data-entry edebug-def-name edebug-form-begin-marker ;; Buffer must be current-buffer. @@ -1522,7 +1509,7 @@ (if edebug-error-point (goto-char edebug-error-point)) (apply 'edebug-syntax-error args)) - (funcall 'throw 'no-match args))) + (throw 'no-match args))) (defun edebug-match (cursor specs) @@ -2012,11 +1999,6 @@ ;; (def-edebug-spec anonymous-form ((&or ["lambda" lambda] ["macro" macro]))) ;; Standard functions that take function-forms arguments. -(def-edebug-spec mapcar (function-form form)) -(def-edebug-spec mapconcat (function-form form form)) -(def-edebug-spec mapatoms (function-form &optional form)) -(def-edebug-spec apply (function-form &rest form)) -(def-edebug-spec funcall (function-form &rest form)) ;; FIXME? The manual uses this form (maybe that's just for illustration?): ;; (def-edebug-spec let @@ -2082,49 +2064,12 @@ &or ("quote" edebug-\`) def-form)) ;; New byte compiler. -(def-edebug-spec defsubst defun) -(def-edebug-spec dont-compile t) -(def-edebug-spec eval-when-compile t) -(def-edebug-spec eval-and-compile t) (def-edebug-spec save-selected-window t) (def-edebug-spec save-current-buffer t) -(def-edebug-spec delay-mode-hooks t) -(def-edebug-spec with-temp-file t) -(def-edebug-spec with-temp-message t) -(def-edebug-spec with-syntax-table t) -(def-edebug-spec push (form sexp)) -(def-edebug-spec pop (sexp)) - -(def-edebug-spec 1value (form)) -(def-edebug-spec noreturn (form)) - ;; Anything else? - -;; Some miscellaneous specs for macros in public packages. -;; Send me yours. - -;; advice.el by Hans Chalupsky (hans@cs.buffalo.edu) - -(def-edebug-spec ad-dolist ((symbolp form &optional form) body)) -(def-edebug-spec defadvice - (&define name ;; thing being advised. - (name ;; class is [&or "before" "around" "after" - ;; "activation" "deactivation"] - name ;; name of advice - &rest sexp ;; optional position and flags - ) - [&optional stringp] - [&optional ("interactive" interactive)] - def-body)) - -(def-edebug-spec easy-menu-define (symbolp body)) - -(def-edebug-spec with-custom-print body) - - ;;; The debugger itself (defvar edebug-active nil) ;; Non-nil when edebug is active @@ -2177,8 +2122,6 @@ (defvar edebug-outside-debug-on-error) ; the value of debug-on-error outside (defvar edebug-outside-debug-on-quit) ; the value of debug-on-quit outside -(defvar edebug-outside-overriding-local-map) -(defvar edebug-outside-overriding-terminal-local-map) (defvar edebug-outside-pre-command-hook) (defvar edebug-outside-post-command-hook) @@ -2339,7 +2282,7 @@ (1+ (aref edebug-freq-count before-index))) (if (or (not (memq edebug-execution-mode '(Go-nonstop next))) - (edebug-input-pending-p)) + (input-pending-p)) (edebug-debugger before-index 'before nil))) before-index) @@ -2361,7 +2304,7 @@ (if edebug-test-coverage (edebug--update-coverage after-index value)) (if (and (eq edebug-execution-mode 'Go-nonstop) - (not (edebug-input-pending-p))) + (not (input-pending-p))) ;; Just return result. value (edebug-debugger after-index 'after value) @@ -2445,7 +2388,7 @@ ;; or break, or input is pending, (if (or (not (memq edebug-execution-mode '(go continue Continue-fast))) edebug-break - (edebug-input-pending-p)) + (input-pending-p)) (edebug--display value offset-index arg-mode)) ; <---------- display value))) @@ -2522,7 +2465,7 @@ (let ((overlay-arrow-position overlay-arrow-position) (overlay-arrow-string overlay-arrow-string) (cursor-in-echo-area nil) - (unread-command-events unread-command-events) + (unread-command-events nil) ;; any others?? ) (setq-default cursor-in-non-selected-windows t) @@ -2577,7 +2520,7 @@ (edebug-adjust-window (cdr edebug-window-data))) ;; Test if there is input, not including keyboard macros. - (if (edebug-input-pending-p) + (if (input-pending-p) (progn (setq edebug-execution-mode 'step edebug-stop t) @@ -2612,27 +2555,26 @@ (t (message ""))) - (setq unread-command-events nil) (if (eq 'after arg-mode) (progn ;; Display result of previous evaluation. (if (and edebug-break (not (eq edebug-execution-mode 'Continue-fast))) - (edebug-sit-for edebug-sit-for-seconds)) ; Show message. + (sit-for edebug-sit-for-seconds)) ; Show message. (edebug-previous-result))) (cond (edebug-break (cond ((eq edebug-execution-mode 'continue) - (edebug-sit-for edebug-sit-for-seconds)) - ((eq edebug-execution-mode 'Continue-fast) (edebug-sit-for 0)) + (sit-for edebug-sit-for-seconds)) + ((eq edebug-execution-mode 'Continue-fast) (sit-for 0)) (t (setq edebug-stop t)))) ;; not edebug-break ((eq edebug-execution-mode 'trace) - (edebug-sit-for edebug-sit-for-seconds)) ; Force update and pause. + (sit-for edebug-sit-for-seconds)) ; Force update and pause. ((eq edebug-execution-mode 'Trace-fast) - (edebug-sit-for 0))) ; Force update and continue. + (sit-for 0))) ; Force update and continue. (unwind-protect (if (or edebug-stop @@ -2646,7 +2588,7 @@ ;; Reset the edebug-window-data to whatever it is now. (let ((window (if (eq (window-buffer) edebug-buffer) (selected-window) - (edebug-get-buffer-window edebug-buffer)))) + (get-buffer-window edebug-buffer)))) ;; Remember window-start for edebug-buffer, if still displayed. (if window (progn @@ -2724,6 +2666,8 @@ (goto-char edebug-buffer-outside-point)) ;; ... nothing more. ) + ;; Could be an option to keep eval display up. + (if edebug-eval-buffer (kill-buffer edebug-eval-buffer)) (with-timeout-unsuspend edebug-with-timeout-suspend) ;; Reset global variables to outside values in case they were changed. (setq @@ -2790,10 +2734,6 @@ (edebug-outside-map (current-local-map)) - (edebug-outside-overriding-local-map overriding-local-map) - (edebug-outside-overriding-terminal-local-map - overriding-terminal-local-map) - ;; Save the outside value of executing macro. (here??) (edebug-outside-executing-macro executing-kbd-macro) (edebug-outside-pre-command-hook @@ -2832,6 +2772,9 @@ (last-nonmenu-event nil) (track-mouse nil) + (standard-output t) + (standard-input t) + ;; Don't keep reading from an executing kbd macro ;; within edebug unless edebug-continue-kbd-macro is ;; non-nil. Again, local binding may not be best. @@ -2874,8 +2817,6 @@ (setq signal-hook-function 'edebug-signal) (if edebug-backtrace-buffer (kill-buffer edebug-backtrace-buffer)) - ;; Could be an option to keep eval display up. - (if edebug-eval-buffer (kill-buffer edebug-eval-buffer)) ;; Remember selected-window after recursive-edit. ;; (setq edebug-inside-window (selected-window)) @@ -2923,8 +2864,8 @@ (defun edebug-adjust-window (old-start) ;; If pos is not visible, adjust current window to fit following context. -;;; (message "window: %s old-start: %s window-start: %s pos: %s" -;;; (selected-window) old-start (window-start) (point)) (sit-for 5) + ;; (message "window: %s old-start: %s window-start: %s pos: %s" + ;; (selected-window) old-start (window-start) (point)) (sit-for 5) (if (not (pos-visible-in-window-p)) (progn ;; First try old-start @@ -2932,7 +2873,7 @@ (set-window-start (selected-window) old-start)) (if (not (pos-visible-in-window-p)) (progn -;; (message "resetting window start") (sit-for 2) + ;; (message "resetting window start") (sit-for 2) (set-window-start (selected-window) (save-excursion @@ -3071,7 +3012,7 @@ (current-buffer) (point) (if (marker-buffer (edebug-mark-marker)) (marker-position (edebug-mark-marker)) "")) - (edebug-sit-for arg) + (sit-for arg) (edebug-pop-to-buffer edebug-buffer (car edebug-window-data))))) @@ -3398,7 +3339,7 @@ (save-excursion (down-list 1) (if (looking-at "\(") - (edebug-form-data-name + (edebug--form-data-name (edebug-get-form-data-entry (point))) (edebug-original-read (current-buffer)))))) (edebug-instrument-function func)))) @@ -3604,7 +3545,8 @@ (defun edebug-eval (expr) ;; Are there cl lexical variables active? - (eval (if (bound-and-true-p cl-debug-env) + (eval (if (and (bound-and-true-p cl-debug-env) + (fboundp 'cl-macroexpand-all)) (cl-macroexpand-all expr cl-debug-env) expr) lexical-binding)) @@ -4088,15 +4030,15 @@ "In buffer BUF-NAME, display FMT and ARGS at the end and make it visible. The buffer is created if it does not exist. You must include newlines in FMT to break lines, but one newline is appended." -;; e.g. -;; (edebug-trace-display "*trace-point*" -;; "saving: point = %s window-start = %s" -;; (point) (window-start)) + ;; e.g. + ;; (edebug-trace-display "*trace-point*" + ;; "saving: point = %s window-start = %s" + ;; (point) (window-start)) (let* ((oldbuf (current-buffer)) (selected-window (selected-window)) (buffer (get-buffer-create buf-name)) buf-window) -;; (message "before pop-to-buffer") (sit-for 1) + ;; (message "before pop-to-buffer") (sit-for 1) (edebug-pop-to-buffer buffer) (setq truncate-lines t) (setq buf-window (selected-window)) @@ -4106,8 +4048,8 @@ (vertical-motion (- 1 (window-height))) (set-window-start buf-window (point)) (goto-char (point-max)) -;; (set-window-point buf-window (point)) -;; (edebug-sit-for 0) + ;; (set-window-point buf-window (point)) + ;; (sit-for 0) (bury-buffer buffer) (select-window selected-window) (set-buffer oldbuf)) @@ -4170,8 +4112,8 @@ ;; Insert all the indices for this line. (forward-line 1) (setq start-of-count-line (point) - first-index i ; really last index for line above this one. - last-count -1) ; cause first count to always appear. + first-index i ; Really, last index for line above this one. + last-count -1) ; Cause first count to always appear. (insert ";#") ;; i == first-index still (while (<= (setq i (1+ i)) last-index) @@ -4203,7 +4145,8 @@ (let ((buffer-read-only nil)) (undo-boundary) (edebug-display-freq-count) - (setq unread-command-events (append unread-command-events (read-event))) + (setq unread-command-events + (append unread-command-events (list (read-event)))) ;; Yuck! This doesn't seem to work at all for me. (undo))) @@ -4315,80 +4258,6 @@ (easy-menu-define edebug-menu edebug-mode-map "Edebug menus" edebug-mode-menus) -;;; Byte-compiler - -;; Extension for bytecomp to resolve undefined function references. -;; Requires new byte compiler. - -(eval-when-compile - ;; The body of eval-when-compile seems to get evaluated with eval-defun. - ;; We only want to evaluate when actually byte compiling. - ;; But it is OK to evaluate as long as byte-compiler has been loaded. - (if (featurep 'byte-compile) (progn - - (defun byte-compile-resolve-functions (funcs) - "Say it is OK for the named functions to be unresolved." - (mapc - (function - (lambda (func) - (setq byte-compile-unresolved-functions - (delq (assq func byte-compile-unresolved-functions) - byte-compile-unresolved-functions)))) - funcs) - nil) - - '(defun byte-compile-resolve-free-references (vars) - "Say it is OK for the named variables to be referenced." - (mapcar - (function - (lambda (var) - (setq byte-compile-free-references - (delq var byte-compile-free-references)))) - vars) - nil) - - '(defun byte-compile-resolve-free-assignments (vars) - "Say it is OK for the named variables to be assigned." - (mapcar - (function - (lambda (var) - (setq byte-compile-free-assignments - (delq var byte-compile-free-assignments)))) - vars) - nil) - - (byte-compile-resolve-functions - '(reporter-submit-bug-report - edebug-gensym ;; also in cl.el - ;; Interfaces to standard functions. - edebug-original-eval-defun - edebug-original-read - edebug-get-buffer-window - edebug-mark - edebug-mark-marker - edebug-input-pending-p - edebug-sit-for - edebug-prin1-to-string - edebug-format - ;; lemacs - zmacs-deactivate-region - popup-menu - ;; CL - cl-macroexpand-all - ;; And believe it or not, the byte compiler doesn't know about: - byte-compile-resolve-functions - )) - - '(byte-compile-resolve-free-references - '(read-expression-history - read-expression-map)) - - '(byte-compile-resolve-free-assignments - '(read-expression-history)) - - ))) - - ;;; Autoloading of Edebug accessories ;; edebug-cl-read and cl-read are available from liberte@cs.uiuc.edu === modified file 'lisp/subr.el' --- lisp/subr.el 2012-09-12 19:16:36 +0000 +++ lisp/subr.el 2012-09-14 03:55:16 +0000 @@ -80,6 +80,7 @@ (defmacro noreturn (form) "Evaluate FORM, expecting it not to return. If FORM does return, signal an error." + (declare (debug t)) `(prog1 ,form (error "Form marked with `noreturn' did return"))) @@ -87,6 +88,7 @@ "Evaluate FORM, expecting a constant return value. This is the global do-nothing version. There is also `testcover-1value' that complains if FORM ever does return differing values." + (declare (debug t)) form) (defmacro def-edebug-spec (symbol spec) ------------------------------------------------------------ revno: 110023 committer: Juanma Barranquero branch nick: trunk timestamp: Fri 2012-09-14 03:22:21 +0200 message: src/makefile.w32-in ($(BLD)/alloc.$(O)): Update dependencies. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-09-13 16:23:06 +0000 +++ src/ChangeLog 2012-09-14 01:22:21 +0000 @@ -1,3 +1,7 @@ +2012-09-14 Juanma Barranquero + + * makefile.w32-in ($(BLD)/alloc.$(O)): Update dependencies. + 2012-09-13 Paul Eggert Use a more backwards-compatible timer format (Bug#12430). === modified file 'src/makefile.w32-in' --- src/makefile.w32-in 2012-09-05 00:30:14 +0000 +++ src/makefile.w32-in 2012-09-14 01:22:21 +0000 @@ -482,7 +482,6 @@ $(BLD)/alloc.$(O) : \ $(SRC)/alloc.c \ $(SRC)/puresize.h \ - $(SRC)/syssignal.h \ $(SRC)/w32.h \ $(NT_INC)/unistd.h \ $(GNU_LIB)/verify.h \ ------------------------------------------------------------ revno: 110022 committer: Juanma Barranquero branch nick: trunk timestamp: Fri 2012-09-14 03:09:22 +0200 message: nt/config.nt: Sync with autogen/config.in. (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGIO, BROKEN_SIGPOLL) (BROKEN_SIGPTY, HAVE_CBRT, HAVE_LOGB, NO_TERMIO): Remove. (USABLE_FIONREAD, USABLE_SIGIO): New macros. diff: === modified file 'nt/ChangeLog' --- nt/ChangeLog 2012-09-10 13:37:53 +0000 +++ nt/ChangeLog 2012-09-14 01:09:22 +0000 @@ -1,3 +1,10 @@ +2012-09-14 Juanma Barranquero + + * config.nt: Sync with autogen/config.in. + (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGIO, BROKEN_SIGPOLL) + (BROKEN_SIGPTY, HAVE_CBRT, HAVE_LOGB, NO_TERMIO): Remove. + (USABLE_FIONREAD, USABLE_SIGIO): New macros. + 2012-09-10 Juanma Barranquero * config.nt: Sync with autogen/config.in. === modified file 'nt/config.nt' --- nt/config.nt 2012-09-10 13:37:53 +0000 +++ nt/config.nt 2012-09-14 01:09:22 +0000 @@ -54,9 +54,6 @@ /* Define to the number of bits in type 'wint_t'. */ #undef BITSIZEOF_WINT_T -/* Define if FIONREAD should not be used. */ -#undef BROKEN_FIONREAD - /* Define if getwd should not be used. */ #undef BROKEN_GETWD @@ -69,18 +66,6 @@ /* Define if SA_RESTART should only be used in batch mode. */ #undef BROKEN_SA_RESTART -/* Define if SIGAIO should not be used. */ -#undef BROKEN_SIGAIO - -/* Define if SIGIO should not be used. */ -#undef BROKEN_SIGIO - -/* Define if SIGPOLL should not be used. */ -#undef BROKEN_SIGPOLL - -/* Define if SIGPTY should not be used. */ -#undef BROKEN_SIGPTY - /* Define if the system is compatible with BSD 4.2. */ #undef BSD4_2 @@ -252,9 +237,6 @@ /* Define to 1 if strtold conforms to C99. */ #undef HAVE_C99_STRTOLD -/* Define to 1 if you have the `cbrt' function. */ -#undef HAVE_CBRT - /* Define to 1 if you have the `cfmakeraw' function. */ #undef HAVE_CFMAKERAW @@ -647,9 +629,6 @@ /* Define to 1 if you have the `localtime_r' function. */ #undef HAVE_LOCALTIME_R -/* Define to 1 if you have the `logb' function. */ -#define HAVE_LOGB 1 - /* Define to 1 if you support file names longer than 14 characters. */ #define HAVE_LONG_FILE_NAMES 1 @@ -1182,9 +1161,6 @@ /* Define to 1 if your C compiler doesn't accept -c and -o together. */ #undef NO_MINUS_C_MINUS_O -/* Define if termio.h should not be included. */ -#undef NO_TERMIO - /* Minimum value of NSIG. */ #undef NSIG_MINIMUM @@ -1369,6 +1345,12 @@ /* Define if the system has Unix98 PTYs. */ #undef UNIX98_PTYS +/* Define to 1 if FIONREAD is usable. */ +#define USABLE_FIONREAD 1 + +/* Define to 1 if SIGIO is usable. */ +#undef USABLE_SIGIO + /* How to get a user's full name. */ #define USER_FULL_NAME pw->pw_gecos ------------------------------------------------------------ revno: 110021 fixes bug: http://debbugs.gnu.org/12399 committer: Juri Linkov branch nick: trunk timestamp: Fri 2012-09-14 02:42:39 +0300 message: * lisp/dired-aux.el (dired-do-chxxx): Use `eq' to detect empty input. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-09-13 18:41:21 +0000 +++ lisp/ChangeLog 2012-09-13 23:42:39 +0000 @@ -1,3 +1,8 @@ +2012-09-13 Juri Linkov + + * dired-aux.el (dired-do-chxxx): Use `eq' to detect empty input. + (Bug#12399) + 2012-09-13 Glenn Morris * calc/calc.el (math-compose-expr): === modified file 'lisp/dired-aux.el' --- lisp/dired-aux.el 2012-09-08 14:48:26 +0000 +++ lisp/dired-aux.el 2012-09-13 23:42:39 +0000 @@ -244,7 +244,10 @@ (function dired-check-process) (append (list operation program) - (unless (string-equal new-attribute "") + (unless (or (string-equal new-attribute "") + ;; Use `eq' instead of `equal' + ;; to detect empty input (bug#12399). + (eq new-attribute default)) (if (eq op-symbol 'touch) (list "-t" new-attribute) (list new-attribute))) ------------------------------------------------------------ revno: 110020 committer: Glenn Morris branch nick: trunk timestamp: Thu 2012-09-13 14:41:21 -0400 message: Update some function declarations * lisp/calc/calc-ext.el (math-compose-expr): * lisp/calc/calc.el (math-compose-expr): * lisp/progmodes/cc-defs.el (cl-macroexpand-all): * lisp/progmodes/cc-langs.el (delete-duplicates, mapcan) (cl-macroexpand-all): Update declarations. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-09-13 18:23:33 +0000 +++ lisp/ChangeLog 2012-09-13 18:41:21 +0000 @@ -1,5 +1,11 @@ 2012-09-13 Glenn Morris + * calc/calc.el (math-compose-expr): + * calc/calc-ext.el (math-compose-expr): + * progmodes/cc-defs.el (cl-macroexpand-all): + * progmodes/cc-langs.el (delete-duplicates, mapcan) + (cl-macroexpand-all): Update declarations. + * vc/vc.el: No need to require ediff. (ediff-load-version-control): Declare. (ediff-vc-internal): Fix declaration. === modified file 'lisp/calc/calc-ext.el' --- lisp/calc/calc-ext.el 2012-08-07 16:12:20 +0000 +++ lisp/calc/calc-ext.el 2012-09-13 18:41:21 +0000 @@ -61,7 +61,7 @@ (declare-function math-vector-is-string "calccomp" (a)) (declare-function math-vector-to-string "calccomp" (a &optional quoted)) (declare-function math-format-radix-float "calc-bin" (a prec)) -(declare-function math-compose-expr "calccomp" (a prec)) +(declare-function math-compose-expr "calccomp" (a prec &optional div)) (declare-function math-abs "calc-arith" (a)) (declare-function math-format-bignum-binary "calc-bin" (a)) (declare-function math-format-bignum-octal "calc-bin" (a)) === modified file 'lisp/calc/calc.el' --- lisp/calc/calc.el 2012-07-31 21:32:28 +0000 +++ lisp/calc/calc.el 2012-09-13 18:41:21 +0000 @@ -199,7 +199,7 @@ (declare-function calc-div-fractions "calc-frac" (a b)) (declare-function math-div-objects-fancy "calc-arith" (a b)) (declare-function math-div-symb-fancy "calc-arith" (a b)) -(declare-function math-compose-expr "calccomp" (a prec)) +(declare-function math-compose-expr "calccomp" (a prec &optional div)) (declare-function math-comp-width "calccomp" (c)) (declare-function math-composition-to-string "calccomp" (c &optional width)) (declare-function math-stack-value-offset-fancy "calccomp" ()) === modified file 'lisp/progmodes/cc-defs.el' --- lisp/progmodes/cc-defs.el 2012-06-26 16:23:01 +0000 +++ lisp/progmodes/cc-defs.el 2012-09-13 18:41:21 +0000 @@ -1829,7 +1829,7 @@ (eval form)) ;; Only used at compile time - suppress "might not be defined at runtime". -(declare-function cl-macroexpand-all "cl-extra" (form &optional env)) +(declare-function cl-macroexpand-all "cl" (form &optional env)) (defmacro c-lang-defconst (name &rest args) "Set the language specific values of the language constant NAME. === modified file 'lisp/progmodes/cc-langs.el' --- lisp/progmodes/cc-langs.el 2012-07-20 11:36:41 +0000 +++ lisp/progmodes/cc-langs.el 2012-09-13 18:41:21 +0000 @@ -208,9 +208,10 @@ ;; Suppress "might not be defined at runtime" warning. ;; This file is only used when compiling other cc files. -(declare-function delete-duplicates "cl-seq" (cl-seq &rest cl-keys)) -(declare-function mapcan "cl-extra" (cl-func cl-seq &rest cl-rest)) -(declare-function cl-macroexpand-all "cl-extra" (form &optional env)) +;; These are defined in cl as aliases to the cl- versions. +(declare-function delete-duplicates "cl-seq" (cl-seq &rest cl-keys) t) +(declare-function mapcan "cl-extra" (cl-func cl-seq &rest cl-rest) t) +(declare-function cl-macroexpand-all "cl" (form &optional env)) (eval-and-compile ;; Some helper functions used when building the language constants. ------------------------------------------------------------ revno: 110019 committer: Glenn Morris branch nick: trunk timestamp: Thu 2012-09-13 14:23:33 -0400 message: * lisp/vc/vc.el: No need to require ediff. (ediff-load-version-control): Declare. (ediff-vc-internal): Fix declaration. (vc-version-ediff): Require ediff. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-09-13 16:23:06 +0000 +++ lisp/ChangeLog 2012-09-13 18:23:33 +0000 @@ -1,3 +1,10 @@ +2012-09-13 Glenn Morris + + * vc/vc.el: No need to require ediff. + (ediff-load-version-control): Declare. + (ediff-vc-internal): Fix declaration. + (vc-version-ediff): Require ediff. + 2012-09-13 Paul Eggert Use a more backwards-compatible timer format (Bug#12430). === modified file 'lisp/vc/vc.el' --- lisp/vc/vc.el 2012-08-29 15:11:51 +0000 +++ lisp/vc/vc.el 2012-09-13 18:23:33 +0000 @@ -653,7 +653,6 @@ (require 'vc-hooks) (require 'vc-dispatcher) -(require 'ediff) (declare-function diff-setup-whitespace "diff-mode" ()) @@ -1698,7 +1697,9 @@ (vc-diff-internal t (vc-deduce-fileset t) nil nil (called-interactively-p 'interactive)))) -(declare-function ediff-vc-internal (rev1 rev2 &optional startup-hooks)) +(declare-function ediff-load-version-control "ediff" (&optional silent)) +(declare-function ediff-vc-internal "ediff-vers" + (rev1 rev2 &optional startup-hooks)) ;;;###autoload (defun vc-version-ediff (files rev1 rev2) @@ -1719,7 +1720,8 @@ ;; FIXME We only support running ediff on one file for now. ;; We could spin off an ediff session per file in the file set. ((= (length files) 1) - (ediff-load-version-control) + (require 'ediff) + (ediff-load-version-control) ; loads ediff-vers (find-file (car files)) ;FIXME: find-file from Elisp is bad. (ediff-vc-internal rev1 rev2 nil)) (t ------------------------------------------------------------ revno: 110018 fixes bug: http://debbugs.gnu.org/12430 committer: Paul Eggert branch nick: trunk timestamp: Thu 2012-09-13 09:23:06 -0700 message: Use a more backwards-compatible timer format. * etc/NEWS: Document it. * lisp/emacs-lisp/timer.el (timer): PSECS is now at the end, rather than being right after USECS, as that better supports old code that inadvisedly looked directly at the timer vector. * src/keyboard.c (decode_timer): Get PSECS from the 8th (origin-0) vector element, not from the 4th, since PSECS is now at the end. (Fcurrent_idle_time): Doc fix. diff: === modified file 'etc/ChangeLog' --- etc/ChangeLog 2012-09-13 06:13:26 +0000 +++ etc/ChangeLog 2012-09-13 16:23:06 +0000 @@ -1,3 +1,8 @@ +2012-09-13 Paul Eggert + + Use a more backwards-compatible timer format (Bug#12430). + * NEWS: Document it, plus fix a typo. + 2012-09-13 Jan Djärv * NEWS (--with-x-toolkit): Mention that Gtk+ 3 is now default. === modified file 'etc/NEWS' --- etc/NEWS 2012-09-13 06:13:26 +0000 +++ etc/NEWS 2012-09-13 16:23:06 +0000 @@ -110,7 +110,7 @@ Old-format time stamps are still accepted. ** The format of timers in timer-list and timer-idle-list is now -[HIGH-SECONDS LOW-SECONDS USECS PSECS REPEAT-DELAY FUNCTION ARGS IDLE-DELAY]. +[TRIGGERED-P HI-SECS LO-SECS USECS REPEAT-DELAY FUNCTION ARGS IDLE-DELAY PSECS]. The PSECS slot is new, and uses picosecond resolution. It can be accessed via the new timer--psecs accessor. === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-09-13 15:21:58 +0000 +++ lisp/ChangeLog 2012-09-13 16:23:06 +0000 @@ -1,3 +1,10 @@ +2012-09-13 Paul Eggert + + Use a more backwards-compatible timer format (Bug#12430). + * emacs-lisp/timer.el (timer): PSECS is now at the end, rather than + being right after USECS, as that better supports old code that + inadvisedly looked directly at the timer vector. + 2012-09-13 Kenichi Handa * language/chinese.el ("Chinese-GB", "Chinese-BIG5") === modified file 'lisp/emacs-lisp/timer.el' --- lisp/emacs-lisp/timer.el 2012-06-30 15:32:51 +0000 +++ lisp/emacs-lisp/timer.el 2012-09-13 16:23:06 +0000 @@ -28,8 +28,8 @@ ;;; Code: ;; Layout of a timer vector: -;; [triggered-p high-seconds low-seconds usecs psecs repeat-delay -;; function args idle-delay] +;; [triggered-p high-seconds low-seconds usecs repeat-delay +;; function args idle-delay psecs] ;; triggered-p is nil if the timer is active (waiting to be triggered), ;; t if it is inactive ("already triggered", in theory) @@ -42,7 +42,7 @@ (:type vector) (:conc-name timer--)) (triggered t) - high-seconds low-seconds usecs psecs repeat-delay function args idle-delay) + high-seconds low-seconds usecs repeat-delay function args idle-delay psecs) (defun timerp (object) "Return t if OBJECT is a timer." === modified file 'src/ChangeLog' --- src/ChangeLog 2012-09-13 11:42:18 +0000 +++ src/ChangeLog 2012-09-13 16:23:06 +0000 @@ -1,3 +1,10 @@ +2012-09-13 Paul Eggert + + Use a more backwards-compatible timer format (Bug#12430). + * keyboard.c (decode_timer): Get PSECS from the 8th (origin-0) + vector element, not from the 4th, since PSECS is now at the end. + (Fcurrent_idle_time): Doc fix. + 2012-09-13 Dmitry Antipov Function to mark objects and remove killed buffers at once. === modified file 'src/keyboard.c' --- src/keyboard.c 2012-09-13 02:21:28 +0000 +++ src/keyboard.c 2012-09-13 16:23:06 +0000 @@ -4330,7 +4330,7 @@ if (! NILP (vector[0])) return 0; - return decode_time_components (vector[1], vector[2], vector[3], vector[4], + return decode_time_components (vector[1], vector[2], vector[3], vector[8], result, 0); } @@ -4532,7 +4532,7 @@ The value when Emacs is not idle is nil. -NSEC is a multiple of the system clock resolution. */) +PSEC is a multiple of the system clock resolution. */) (void) { if (EMACS_TIME_VALID_P (timer_idleness_start_time)) ------------------------------------------------------------ revno: 110017 [merge] committer: Kenichi Handa branch nick: trunk timestamp: Fri 2012-09-14 00:23:01 +0900 message: language/chinese.el ("Chinese-GB", "Chinese-BIG5", "Chinese-CNS", "Chinese-EUC-TW"): Add chinese-gbk to coding-priority property of these language environment. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-09-13 11:42:18 +0000 +++ lisp/ChangeLog 2012-09-13 15:21:58 +0000 @@ -1,3 +1,9 @@ +2012-09-13 Kenichi Handa + + * language/chinese.el ("Chinese-GB", "Chinese-BIG5") + ("Chinese-CNS", "Chinese-EUC-TW"): Add chinese-gbk to + `coding-priority' property of these language environment. + 2012-09-13 Paul Eggert Fix glitches caused by addition of psec to timers (Bug#12430). === modified file 'lisp/language/chinese.el' --- lisp/language/chinese.el 2012-01-19 07:21:25 +0000 +++ lisp/language/chinese.el 2012-09-13 15:21:58 +0000 @@ -110,7 +110,8 @@ (use-cjk-char-width-table 'zh_CN))) (exit-function . use-default-char-width-table) (coding-system chinese-iso-8bit iso-2022-cn chinese-hz) - (coding-priority chinese-iso-8bit chinese-big5 iso-2022-cn) + (coding-priority chinese-iso-8bit chinese-gbk chinese-big5 + iso-2022-cn) (input-method . "chinese-py-punct") (features china-util) (sample-text . "Chinese ($AVPND(B,$AFUM(;0(B,$A::So(B) $ADc:C(B") @@ -140,7 +141,8 @@ (use-cjk-char-width-table 'zh_HK))) (exit-function . use-default-char-width-table) (coding-system chinese-big5 chinese-iso-7bit) - (coding-priority chinese-big5 iso-2022-cn chinese-iso-8bit) + (coding-priority chinese-big5 iso-2022-cn chinese-iso-8bit + chinese-gbk) (input-method . "chinese-py-punct-b5") (ctext-non-standard-encodings "big5-0") (features china-util) @@ -196,7 +198,7 @@ (exit-function . use-default-char-width-table) (coding-system iso-2022-cn euc-tw) (coding-priority iso-2022-cn euc-tw chinese-big5 - chinese-iso-8bit) + chinese-iso-8bit chinese-gbk) (features china-util) (input-method . "chinese-cns-quick") ;; Fixme: presumably it won't accept big5 now. @@ -216,7 +218,7 @@ (exit-function . use-default-char-width-table) (coding-system euc-tw iso-2022-cn) (coding-priority euc-tw chinese-big5 iso-2022-cn - chinese-iso-8bit) + chinese-iso-8bit chinese-gbk) (features china-util) (input-method . "chinese-cns-quick") (documentation . "\ ------------------------------------------------------------ revno: 110016 committer: Jan D. branch nick: trunk timestamp: Thu 2012-09-13 14:02:00 +0200 message: * configure.ac: Report Gtk+ 3 as GTK. diff: === modified file 'ChangeLog' --- ChangeLog 2012-09-13 06:27:21 +0000 +++ ChangeLog 2012-09-13 12:02:00 +0000 @@ -1,6 +1,7 @@ 2012-09-13 Jan Djärv * configure.ac: Reorder Xaw3d messages. + Report Gtk+ 3 as GTK. 2012-09-13 Paul Eggert === modified file 'configure.ac' --- configure.ac 2012-09-13 06:27:21 +0000 +++ configure.ac 2012-09-13 12:02:00 +0000 @@ -4384,11 +4384,7 @@ #### It makes printing result more understandable as using GTK sets #### toolkit_scroll_bars to yes by default. if test "${HAVE_GTK}" = "yes"; then - if test "${with_gtk3}" = "yes"; then - USE_X_TOOLKIT=GTK3 - else - USE_X_TOOLKIT=GTK - fi + USE_X_TOOLKIT=GTK fi echo " ------------------------------------------------------------ revno: 110015 committer: Juanma Barranquero branch nick: trunk timestamp: Thu 2012-09-13 13:42:18 +0200 message: Fix typos in ChangeLogs. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-09-13 06:09:45 +0000 +++ lisp/ChangeLog 2012-09-13 11:42:18 +0000 @@ -96,16 +96,16 @@ 2012-09-11 Bastien Guerry * subr.el (set-temporary-overlay-map): Add a docstring. - (bug#12346) + (Bug#12346) 2012-09-11 Bastien Guerry * minibuffer.el (completion-table-subvert): Fix docstring. - (bug#12347) + (Bug#12347) 2012-09-11 Bastien Guerry - * help-fns.el (describe-variable): Fix typo. (bug#12346) + * help-fns.el (describe-variable): Fix typo. (Bug#12346) 2012-09-10 Michael R. Mauger @@ -125,9 +125,8 @@ 2012-09-10 Stefan Monnier * emacs-lisp/lisp-mode.el (emacs-list-byte-code-comment-re): New var. - (emacs-lisp-byte-code-comment) - (emacs-lisp-byte-code-syntax-propertize, emacs-lisp-byte-code-mode): - New functions. + (emacs-lisp-byte-code-comment, emacs-lisp-byte-code-syntax-propertize) + (emacs-lisp-byte-code-mode): New functions. (eval-sexp-add-defvars): Don't skip defvars in column >0. (eval-defun-2): Remove bogus interactive spec. (lisp-indent-line): Remove redundant whole-exp code, now done in @@ -1614,7 +1613,7 @@ * calc-mode.el (calc-basic-simplification-mode): Rename from `calc-limited-simplification-mode'. (calc-alg-simplification-mode): New function. - (calc-set-simplify-mode): Adjust message. + (calc-set-simplify-mode): Adjust message. * calc.el (calc-set-mode-line): Adjust mode line display for basic simplification mode. @@ -1812,7 +1811,7 @@ * notifications.el (notifications-on-action-signal) (notifications-on-closed-signal): Use also the bus address for the map. (notifications-notify, notifications-close-notification) - (notifications-get-capabilities): Add optional argument BUS. + (notifications-get-capabilities): Add optional argument BUS. 2012-07-27 Tassilo Horn @@ -1932,7 +1931,7 @@ ses-cell-set-formula or ses-set-cell to change the cell and handle the undo at the same time, but rather use lower level new macros `ses-cell-formula-aset' and `ses-cell-references-aset' and handle - the undo directly. Refresh the mode line. + the undo directly. Refresh the mode line. 2012-07-21 Leo Liu @@ -5348,13 +5347,13 @@ * progmodes/verilog-mode.el (font-lock-keywords): Fix mis-highligting auto. Reported by Craig Barner. (verilog-auto, verilog-auto-undef): Add AUTOUNDEF to remove - defines from global name space. Reported by Dan Dever. + defines from global name space. Reported by Dan Dever. (verilog-auto-reset, verilog-auto-reset-widths) (verilog-auto-tieoff): Support using unbased numbers for AUTORESET and AUTOTIEOFF. (verilog-submit-bug-report): Update variable list. (verilog-read-auto-params): Fix AUTOINPUT regexps containing - parenthesis from not matching. Reported by Michael Rytting. + parenthesis from not matching. Reported by Michael Rytting. (verilog-auto-template-lint): Fix hash error when linting modules with no used templates. (verilog-warn, verilog-warn-error) @@ -5364,12 +5363,12 @@ (verilog-read-auto-template): Add `verilog-auto-template-warn-unused' to report unused template errors. Reported by Brad Dobbie. (verilog-read-decls): Fix AUTOWIRE etc on supply0, supply1 type - nets, bug438. Reported by Vns Blore. + nets, bug438. Reported by Vns Blore. (verilog-auto-inout-module, verilog-auto-reg) (verilog-read-decls, verilog-read-sub-decls-sig) (verilog-signals-edit-wire-reg, verilog-signals-with): Fix passing of Verilog data types in ANSI input/output ports - such as "output logic" into the AUTOs. Special case "wire" and + such as "output logic" into the AUTOs. Special case "wire" and "reg" for backwards compatibility presuming Verilog 2001. (verilog-auto-ascii-enum): Add "auto enum" as alias. (verilog-preprocess): Fix replication of preprocess output. @@ -5390,7 +5389,7 @@ (verilog-read-decls): Fix 'parameter type' not appearing in AUTOINSTPARAM, bug340. Reported by Jonathan Greenlaw. (verilog-auto-logic): Fix when AUTOLOGIC present to properly do - AUTOINPUTs, bug411. Reported by Jonathan Greenlaw. + AUTOINPUTs, bug411. Reported by Jonathan Greenlaw. (verilog-read-auto-lisp): Avoid syntax-ppss warning on AUTOLISP. Reported by David Kravitz. === modified file 'src/ChangeLog' --- src/ChangeLog 2012-09-13 05:18:26 +0000 +++ src/ChangeLog 2012-09-13 11:42:18 +0000 @@ -287,7 +287,7 @@ (ns_maybe_dumpglyphs_background): Remove fringe/internal border adjustment. (ns_dumpglyphs_image): Ditto. - (ns_dumpglyphs_stretch): Fix coding style. Remove fringe/internal + (ns_dumpglyphs_stretch): Fix coding style. Remove fringe/internal border adjustment. (ns_set_vertical_scroll_bar): Remove variables barOnVeryLeft/Right and their usage. Add fringe_extended_p and its use as in other terms. @@ -368,7 +368,7 @@ * conf_post.h [SIGNAL_H_AHB]: Do not include ; no longer needed here. * emacs.c (main): Inspect existing signal handler with sigaction, - so that there's no need to block and unblock SIGHUP. + so that there's no need to block and unblock SIGHUP. * sysdep.c (struct save_signal): New member 'action', replacing old member 'handler'. (save_signal_handlers, restore_signal_handlers): @@ -895,18 +895,18 @@ 2012-08-28 Jan Djärv * nsmenu.m (initWithContentRect:styleMask:backing:defer:): Initialize - button_values to NULL. Call setStykeMask so dialogs get a close button. + button_values to NULL. Call setStykeMask so dialogs get a close button. (windowShouldClose:): Set window_closed. (dealloc): New member, free button_values. - (process_dialog:): Make member function. Remove window argument, - replace window with self. Count buttons and allocate and store values + (process_dialog:): Make member function. Remove window argument, + replace window with self. Count buttons and allocate and store values in button_values. (addButton:value:row:): value is int with the name tag. Call setTag - with tag. Remove return self, declare return value as void. + with tag. Remove return self, declare return value as void. (addString:row:): Remove return self, declare return value as void. (addSplit): Remove return self, declare return value as void. (clicked:): Remove return self, declare return value as void. - Set dialog_return to button_values[seltag]. Code formatting change. + Set dialog_return to button_values[seltag]. Code formatting change. (initFromContents:isQuestion:): Adjust call to process_dialog. Code formatting change. (timeout_handler:): Set timer_fired to YES. @@ -1241,7 +1241,7 @@ * fontset.c (FONTSET_ADD): Return void, not Lisp_Object. Otherwise, the compiler complains about (A?B:C) where B is void - and C is Lisp_Object. This fixes an incompatibility with Sun C 5.12. + and C is Lisp_Object. This fixes an incompatibility with Sun C 5.12. (fontset_add): Return void, for FONTSET_ADD. 2012-08-21 Paul Eggert @@ -1757,7 +1757,7 @@ Start main loop and wait for application defined event. Inform select thread to stop selecting after main loop is exited. (ns_term_init): Create selfds pipe and set non-blocking. - Initialize select_mutex. Start the select thread (fd_handler). + Initialize select_mutex. Start the select thread (fd_handler). (fd_handler:): Loop forever, wait for info from the main thread to either start or stop selecting. When select returns, send and appdefined event. @@ -1889,7 +1889,7 @@ (xg_create_tool_bar): Allocate and initialize a xg_frame_tb_info if not present. (update_frame_tool_bar): Return early if data in xg_frame_tb_info - is up to date. Otherwise store new data. + is up to date. Otherwise store new data. (free_frame_tool_bar): Free xg_frame_tb_info if present. 2012-08-13 Dmitry Antipov @@ -1916,7 +1916,7 @@ 2012-08-11 Jan Djärv * nsterm.m (not_in_argv): New function. - (application:openFile, application:openTempFile:): + (application:openFile, application:openTempFile:): (application:openFileWithoutUI:, application:openFiles:): Open file if not_in_argv returns non-zero (bug#12171). @@ -3103,7 +3103,7 @@ 2012-07-21 Jan Djärv - * nsterm.m (accessibilityAttributeValue): New function. (Bug#11134). + * nsterm.m (accessibilityAttributeValue): New function. (Bug#11134). (conversationIdentifier): Return value is NSInteger. * nsterm.m (accessibilityAttributeValue): Surround with NS_IMPL_COCOA. @@ -5613,7 +5613,7 @@ * lisp.h (struct vectorlike_header): New field `nbytes', adjust comment accordingly. * alloc.c (enum mem_type): New type `MEM_TYPE_VECTOR_BLOCK' - to denote vector blocks. Adjust users (live_vector_p, + to denote vector blocks. Adjust users (live_vector_p, mark_maybe_pointer, valid_lisp_object_p) accordingly. (COMMON_MULTIPLE): Move outside #if USE_LSB_TAG. (VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES), @@ -5627,7 +5627,7 @@ (allocate_vector_from_block, init_vectors, allocate_vector_from_block) (sweep_vectors): New functions. (allocate_vectorlike): Return `zero_vector' as the only vector of - 0 items. Allocate new vector from block if vector size is less than + 0 items. Allocate new vector from block if vector size is less than or equal to VBLOCK_BYTES_MAX. (Fgarbage_collect): Move all vector sweeping code to sweep_vectors. (init_alloc_once): Add call to init_vectors. @@ -5717,7 +5717,7 @@ change it's type from Lisp_Object to bitfield. Change type of 'force_start', 'optional_new_start', 'last_had_star', 'update_mode_line' and 'start_at_line_beg' - fields from Lisp_Object to bitfield. Adjust users accordingly. + fields from Lisp_Object to bitfield. Adjust users accordingly. 2012-05-31 Paul Eggert ------------------------------------------------------------ revno: 110014 committer: Katsumi Yamaoka branch nick: trunk timestamp: Thu 2012-09-13 11:14:30 +0000 message: gnus-art.el (gnus-article-stop-animations): Use gnus-timer--function that is an alias to timer--function diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2012-09-13 06:09:45 +0000 +++ lisp/gnus/ChangeLog 2012-09-13 11:14:30 +0000 @@ -1,3 +1,9 @@ +2012-09-13 Katsumi Yamaoka + + * gnus-util.el (gnus-timer--function): New function. + + * gnus-art.el (gnus-article-stop-animations): Use it. + 2012-09-13 Paul Eggert Fix glitches caused by addition of psec to timers. === modified file 'lisp/gnus/gnus-art.el' --- lisp/gnus/gnus-art.el 2012-09-13 06:09:45 +0000 +++ lisp/gnus/gnus-art.el 2012-09-13 11:14:30 +0000 @@ -4554,7 +4554,7 @@ (defun gnus-article-stop-animations () (dolist (timer (and (boundp 'timer-list) timer-list)) - (when (eq (timer--function timer) 'image-animate-timeout) + (when (eq (gnus-timer--function timer) 'image-animate-timeout) (cancel-timer timer)))) (defun gnus-stop-downloads () === modified file 'lisp/gnus/gnus-util.el' --- lisp/gnus/gnus-util.el 2012-09-07 04:07:00 +0000 +++ lisp/gnus/gnus-util.el 2012-09-13 11:14:30 +0000 @@ -1964,6 +1964,11 @@ (defun gnus-bound-and-true-p (sym) (and (boundp sym) (symbol-value sym))) +(if (fboundp 'timer--function) + (defalias 'gnus-timer--function 'timer--function) + (defun gnus-timer--function (timer) + (elt timer 5))) + (provide 'gnus-util) ;;; gnus-util.el ends here ------------------------------------------------------------ revno: 110013 committer: Glenn Morris branch nick: trunk timestamp: Thu 2012-09-13 06:17:31 -0400 message: Auto-commit of generated files. diff: === modified file 'autogen/config.in' --- autogen/config.in 2012-09-11 10:17:36 +0000 +++ autogen/config.in 2012-09-13 10:17:31 +0000 @@ -50,9 +50,6 @@ /* Define to the number of bits in type 'wint_t'. */ #undef BITSIZEOF_WINT_T -/* Define if FIONREAD should not be used. */ -#undef BROKEN_FIONREAD - /* Define if getwd should not be used. */ #undef BROKEN_GETWD @@ -65,18 +62,6 @@ /* Define if SA_RESTART should only be used in batch mode. */ #undef BROKEN_SA_RESTART -/* Define if SIGAIO should not be used. */ -#undef BROKEN_SIGAIO - -/* Define if SIGIO should not be used. */ -#undef BROKEN_SIGIO - -/* Define if SIGPOLL should not be used. */ -#undef BROKEN_SIGPOLL - -/* Define if SIGPTY should not be used. */ -#undef BROKEN_SIGPTY - /* Define if the system is compatible with BSD 4.2. */ #undef BSD4_2 @@ -1166,9 +1151,6 @@ /* Define to 1 if your C compiler doesn't accept -c and -o together. */ #undef NO_MINUS_C_MINUS_O -/* Define if termio.h should not be included. */ -#undef NO_TERMIO - /* Minimum value of NSIG. */ #undef NSIG_MINIMUM @@ -1353,6 +1335,12 @@ /* Define if the system has Unix98 PTYs. */ #undef UNIX98_PTYS +/* Define to 1 if FIONREAD is usable. */ +#undef USABLE_FIONREAD + +/* Define to 1 if SIGIO is usable. */ +#undef USABLE_SIGIO + /* How to get a user's full name. */ #undef USER_FULL_NAME === modified file 'autogen/configure' --- autogen/configure 2012-09-11 10:17:36 +0000 +++ autogen/configure 2012-09-13 10:17:31 +0000 @@ -2062,8 +2062,8 @@ string giving default POP mail host --without-sound don't compile with sound support --without-sync-input process async input synchronously - --with-x-toolkit=KIT use an X toolkit (KIT one of: yes or gtk, gtk3, - lucid or athena, motif, no) + --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) --without-xpm don't compile with XPM image support --without-jpeg don't compile with JPEG image support @@ -3956,11 +3956,13 @@ a | at | ath | athe | athen | athena ) val=athena ;; m | mo | mot | moti | motif ) val=motif ;; g | gt | gtk ) val=gtk ;; + gtk2 ) val=gtk2 ;; gtk3 ) val=gtk3 ;; * ) as_fn_error "\`--with-x-toolkit=$withval' is invalid; -this option's value should be \`yes', \`no', \`lucid', \`athena', \`motif', \`gtk' or -\`gtk3'. \`yes' and \`gtk' are synonyms. \`athena' and \`lucid' are synonyms." "$LINENO" 5 +this option's value should be \`yes', \`no', \`lucid', \`athena', \`motif', \`gtk', +\`gtk2' or \`gtk3'. \`yes' and \`gtk' are synonyms. +\`athena' and \`lucid' are synonyms." "$LINENO" 5 ;; esac with_x_toolkit=$val @@ -9562,6 +9564,9 @@ gtk ) with_gtk=yes term_header=gtkutil.h USE_X_TOOLKIT=none ;; + gtk2 ) with_gtk2=yes + term_header=gtkutil.h + USE_X_TOOLKIT=none ;; gtk3 ) with_gtk3=yes term_header=gtkutil.h USE_X_TOOLKIT=none ;; @@ -10511,7 +10516,9 @@ HAVE_GTK=no GTK_OBJ= -if test "${with_gtk3}" = "yes"; then +check_gtk2=no +gtk3_pkg_errors= +if test "${with_gtk3}" = "yes" || test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then GLIB_REQUIRED=2.28 GTK_REQUIRED=3.0 GTK_MODULES="gtk+-3.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED" @@ -10566,19 +10573,22 @@ pkg_check_gtk=no fi - if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then + if test "$pkg_check_gtk" = "no" && test "$with_gtk3" = "yes"; then as_fn_error "$GTK_PKG_ERRORS" "$LINENO" 5 fi + if test "$pkg_check_gtk" = "yes"; then $as_echo "#define HAVE_GTK3 1" >>confdefs.h - GTK_OBJ=emacsgtkfixed.o - term_header=gtkutil.h + GTK_OBJ=emacsgtkfixed.o + term_header=gtkutil.h + else + check_gtk2=yes + gtk3_pkg_errors="$GTK_PKG_ERRORS " + fi fi -if test "$pkg_check_gtk" != "yes"; then - HAVE_GTK=no -if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then +if test "${with_gtk2}" = "yes" || test "$check_gtk2" = "yes"; then GLIB_REQUIRED=2.10 GTK_REQUIRED=2.10 GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED" @@ -10633,11 +10643,12 @@ pkg_check_gtk=no fi - if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then - as_fn_error "$GTK_PKG_ERRORS" "$LINENO" 5 + 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 fi fi -fi if test x"$pkg_check_gtk" = xyes; then @@ -11161,8 +11172,6 @@ LUCID_LIBW= if test x"${USE_X_TOOLKIT}" = xmaybe || test x"${USE_X_TOOLKIT}" = xLUCID; then if test "$with_xaw3d" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xaw3d" >&5 -$as_echo_n "checking for xaw3d... " >&6; } if test "${emacs_cv_xaw3d+set}" = set; then : $as_echo_n "(cached) " >&6 else @@ -11233,6 +11242,8 @@ emacs_cv_xaw3d=no fi if test $emacs_cv_xaw3d = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xaw3d" >&5 +$as_echo_n "checking for xaw3d... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes; using Lucid toolkit" >&5 $as_echo "yes; using Lucid toolkit" >&6; } USE_X_TOOLKIT=LUCID @@ -11242,6 +11253,8 @@ $as_echo "#define HAVE_XAW3D 1" >>confdefs.h else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xaw3d" >&5 +$as_echo_n "checking for xaw3d... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libXaw" >&5 @@ -14891,12 +14904,6 @@ case $opsys in - darwin | gnu | hpux* | *bsd ) - -$as_echo "#define NO_TERMIO 1" >>confdefs.h - - ;; - irix6-5 | sol2* | unixware ) $as_echo "#define NSIG_MINIMUM 32" >>confdefs.h @@ -14904,29 +14911,15 @@ ;; esac +emacs_broken_SIGIO=no case $opsys in hpux* | irix6-5 | openbsd | sol2* | unixware ) - -$as_echo "#define BROKEN_SIGIO 1" >>confdefs.h - + emacs_broken_SIGIO=yes ;; aix4-2) -$as_echo "#define BROKEN_FIONREAD 1" >>confdefs.h - - -$as_echo "#define BROKEN_SIGAIO 1" >>confdefs.h - - -$as_echo "#define BROKEN_SIGPOLL 1" >>confdefs.h - - -$as_echo "#define BROKEN_SIGPTY 1" >>confdefs.h - - - $as_echo "#define BROKEN_GET_CURRENT_DIR_NAME 1" >>confdefs.h ;; @@ -15637,6 +15630,85 @@ ;; esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for usable FIONREAD" >&5 +$as_echo_n "checking for usable FIONREAD... " >&6; } +if test "${emacs_cv_usable_FIONREAD+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $opsys in + aix4-2) + emacs_cv_usable_FIONREAD=no + ;; + + *) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #ifdef USG5_4 + # include + #endif + +int +main () +{ +int foo = ioctl (0, FIONREAD, &foo); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + emacs_cv_usable_FIONREAD=yes +else + emacs_cv_usable_FIONREAD=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_cv_usable_FIONREAD" >&5 +$as_echo "$emacs_cv_usable_FIONREAD" >&6; } +if test $emacs_cv_usable_FIONREAD = yes; then + +$as_echo "#define USABLE_FIONREAD 1" >>confdefs.h + + + if test $emacs_broken_SIGIO = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for usable SIGIO" >&5 +$as_echo_n "checking for usable SIGIO... " >&6; } +if test "${emacs_cv_usable_SIGIO+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +main () +{ +int foo = SIGIO | F_SETFL | FASYNC; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + emacs_cv_usable_SIGIO=yes +else + emacs_cv_usable_SIGIO=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_cv_usable_SIGIO" >&5 +$as_echo "$emacs_cv_usable_SIGIO" >&6; } + if test $emacs_cv_usable_SIGIO = yes; then + +$as_echo "#define USABLE_SIGIO 1" >>confdefs.h + + fi + fi +fi + case $opsys in cygwin) ------------------------------------------------------------ revno: 110012 committer: Paul Eggert branch nick: trunk timestamp: Thu 2012-09-13 00:28:15 -0700 message: * texinfo.tex: Merge from gnulib. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2012-09-12 16:39:10 +0000 +++ doc/misc/ChangeLog 2012-09-13 07:28:15 +0000 @@ -1,3 +1,7 @@ +2012-09-13 Paul Eggert + + * texinfo.tex: Merge from gnulib. + 2012-09-12 Michael Albinus Sync with Tramp 2.2.6. === modified file 'doc/misc/texinfo.tex' --- doc/misc/texinfo.tex 2012-09-12 14:03:15 +0000 +++ doc/misc/texinfo.tex 2012-09-13 07:28:15 +0000 @@ -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{2012-09-05.06} +\def\texinfoversion{2012-09-12.16} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -2272,8 +2272,6 @@ \gdef\markupsetcodequoteleft{\let`\codequoteleft} \gdef\markupsetcodequoteright{\let'\codequoteright} - -\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft} } \let\markupsetuplqcode \markupsetcodequoteleft @@ -2282,6 +2280,9 @@ \let\markupsetuplqexample \markupsetcodequoteleft \let\markupsetuprqexample \markupsetcodequoteright % +\let\markupsetuplqkbd \markupsetcodequoteleft +\let\markupsetuprqkbd \markupsetcodequoteright +% \let\markupsetuplqsamp \markupsetcodequoteleft \let\markupsetuprqsamp \markupsetcodequoteright % @@ -2291,8 +2292,6 @@ \let\markupsetuplqverbatim \markupsetcodequoteleft \let\markupsetuprqverbatim \markupsetcodequoteright -\let\markupsetuplqkbd \markupsetnoligaturesquoteleft - % Allow an option to not use regular directed right quote/apostrophe % (char 0x27), but instead the undirected quote from cmtt (char 0x0d). % The undirected quote is ugly, so don't make it the default, but it @@ -2382,8 +2381,7 @@ \aftersmartic } -% like \smartslanted except unconditionally uses \ttsl, and no ic. -% @var is set to this for defun arguments. +% Unconditional use \ttsl, and no ic. @var is set to this for defuns. \def\ttslanted#1{{\ttsl #1}} % @cite is like \smartslanted except unconditionally use \sl. We never want @@ -2695,10 +2693,6 @@ \let\email=\uref \fi -% @kbd is like @code, except that if the argument is just one @key command, -% then @kbd has no effect. -\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}} - % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), % or `code' (@kbd uses normal tty font always). @@ -2722,11 +2716,17 @@ % Default is `distinct'. \kbdinputstyle distinct +% @kbd is like @code, except that if the argument is just one @key command, +% then @kbd has no effect. +\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}} + \def\xkey{\key} -\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% -\ifx\one\xkey\ifx\threex\three \key{#2}% -\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi -\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi} +\def\kbdsub#1#2#3\par{% + \def\one{#1}\def\three{#3}\def\threex{??}% + \ifx\one\xkey\ifx\threex\three \key{#2}% + \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi + \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi +} % definition of @key that produces a lozenge. Doesn't adjust to text size. %\setfont\keyrm\rmshape{8}{1000}{OT1} @@ -4257,7 +4257,7 @@ } \def\ifcmddefinedfail{\doignore{ifcommanddefined}} -% @ifcommandnotdefined CMD ... handlded similar to @ifclear above. +% @ifcommandnotdefined CMD ... handled similar to @ifclear above. \makecond{ifcommandnotdefined} \def\ifcommandnotdefined{% \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}} @@ -7072,7 +7072,10 @@ \df \sl \hyphenchar\font=0 % % On the other hand, if an argument has two dashes (for instance), we - % want a way to get ttsl. Let's try @var for that. + % want a way to get ttsl. We used to recommend @var for that, so + % leave the code in, but it's strange for @var to lead to typewriter. + % Nowadays we recommend @code, since the difference between a ttsl hyphen + % and a tt hyphen is pretty tiny. @code also disables ?` !`. \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}% #1% \sl\hyphenchar\font=45 ------------------------------------------------------------ revno: 110011 committer: Jan D. branch nick: trunk timestamp: Thu 2012-09-13 08:27:21 +0200 message: * configure.ac: Reorder Xaw3d messages. diff: === modified file 'ChangeLog' --- ChangeLog 2012-09-13 02:21:28 +0000 +++ ChangeLog 2012-09-13 06:27:21 +0000 @@ -1,3 +1,7 @@ +2012-09-13 Jan Djärv + + * configure.ac: Reorder Xaw3d messages. + 2012-09-13 Paul Eggert Simplify SIGIO usage (Bug#12408). === modified file 'configure.ac' --- configure.ac 2012-09-13 02:21:28 +0000 +++ configure.ac 2012-09-13 06:27:21 +0000 @@ -2109,7 +2109,6 @@ LUCID_LIBW= if test x"${USE_X_TOOLKIT}" = xmaybe || test x"${USE_X_TOOLKIT}" = xLUCID; then if test "$with_xaw3d" != no; then - AC_MSG_CHECKING(for xaw3d) AC_CACHE_VAL(emacs_cv_xaw3d, [AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include @@ -2122,6 +2121,7 @@ emacs_cv_xaw3d=no fi if test $emacs_cv_xaw3d = yes; then + AC_MSG_CHECKING(for xaw3d) AC_MSG_RESULT([yes; using Lucid toolkit]) USE_X_TOOLKIT=LUCID HAVE_XAW3D=yes @@ -2129,6 +2129,7 @@ AC_DEFINE(HAVE_XAW3D, 1, [Define to 1 if you have the Xaw3d library (-lXaw3d).]) else + AC_MSG_CHECKING(for xaw3d) AC_MSG_RESULT(no) AC_MSG_CHECKING(for libXaw) AC_CACHE_VAL(emacs_cv_xaw, ------------------------------------------------------------ Use --include-merged or -n0 to see merged revisions.