Now on revision 110669. ------------------------------------------------------------ revno: 110669 [merge] committer: David Engster branch nick: trunk timestamp: Thu 2012-10-25 22:16:14 +0200 message: Merge changes from CEDET upstream. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-10-25 13:00:52 +0000 +++ lisp/ChangeLog 2012-10-25 20:13:16 +0000 @@ -1,3 +1,11 @@ +2012-10-25 David Engster + + * emacs-lisp/eieio.el (eieio-update-lisp-imenu-expression): + Removed. This feature is already integrated in imenu. + + * emacs-lisp/eieio-opt.el: Remove require for `button' since it is + always loaded. Require `speedbar' unconditionally. + 2012-10-25 Stefan Monnier * dired.el (dired-get-marked-files): Allow ! on . and .. (bug#12725). === modified file 'lisp/cedet/ChangeLog' --- lisp/cedet/ChangeLog 2012-10-23 15:06:07 +0000 +++ lisp/cedet/ChangeLog 2012-10-25 20:13:16 +0000 @@ -1,3 +1,36 @@ +2012-10-25 David Engster + + * semantic/analyze.el (semantic-analyze-dereference-alias): New + function to dereference aliases. + (semantic-analyze-current-context-default): Use it. + + * semantic/grammar.el (semantic-grammar-create-package): + * srecode/compile.el (srecode-compile-templates): Throw a proper + error if semantic-mode is not enabled (bug#9968). + + Compiler warning fixes: + + * semantic.el (semantic-elapsed-time): Make it a defsubst. + + * srecode/dictionary.el (srecode-adebug-dictionary): Remove + require for `semantic'. + + * srecode/map.el: + * srecode/insert.el: Declare functions from `data-debug'. + + * semantic/grammar.el: Require `help-fns'. Declare functions from + `eldoc', which is required in function body. + + * srecode/java.el: + * semantic/texi.el: + * semantic/grammar-wy.el: + * semantic/db-file.el: + * semantic/db-el.el: + * semantic/chart.el: Fix requires. + + * ede/locate.el: Remove useless requires. Declare functions + instead and require in functions when needed. + 2012-10-23 Stefan Monnier * semantic/db-file.el (semanticdb-save-database-functions): === modified file 'lisp/cedet/ede/locate.el' --- lisp/cedet/ede/locate.el 2012-01-19 07:21:25 +0000 +++ lisp/cedet/ede/locate.el 2012-10-25 20:13:16 +0000 @@ -49,13 +49,7 @@ ;; when it is available. (require 'ede) -(eval-when-compile (require 'data-debug) - (require 'eieio-datadebug) - (require 'cedet-global) - (require 'cedet-idutils) - (require 'cedet-cscope)) - -(require 'locate) +(eval-when-compile (require 'locate)) ;;; Code: (defcustom ede-locate-setup-options @@ -214,6 +208,12 @@ ;;; GLOBAL ;; + +(declare-function cedet-gnu-global-version-check "cedet-global") +(declare-function cedet-gnu-global-root "cedet-global") +(declare-function cedet-gnu-global-expand-filename "cedet-global") +(declare-function cedet-gnu-global-create/update-database "cedet-global") + (defclass ede-locate-global (ede-locate-base) () "EDE Locator using GNU Global. @@ -260,6 +260,12 @@ ;;; IDUTILS ;; + +(declare-function cedet-idutils-version-check "cedet-idutils") +(declare-function cedet-idutils-support-for-directory "cedet-idutils") +(declare-function cedet-idutils-expand-filename "cedet-idutils") +(declare-function cedet-idutils-create/update-database "cedet-idutils") + (defclass ede-locate-idutils (ede-locate-base) () "EDE Locator using IDUtils. @@ -303,6 +309,12 @@ ;;; CSCOPE ;; + +(declare-function cedet-cscope-version-check "cedet-scope") +(declare-function cedet-cscope-support-for-directory "cedet-scope") +(declare-function cedet-cscope-expand-filename "cedet-cscope") +(declare-function cedet-cscope-create/update-database "cedet-cscope") + (defclass ede-locate-cscope (ede-locate-base) () "EDE Locator using Cscope. @@ -315,6 +327,7 @@ ;; Get ourselves initialized. (call-next-method) ;; Do the checks. + (require 'cedet-cscope) (cedet-cscope-version-check) (when (not (cedet-cscope-support-for-directory (oref loc root))) (error "Cannot use Cscope in %s" @@ -324,6 +337,7 @@ (defmethod ede-locate-ok-in-project :static ((loc ede-locate-cscope) root) "Is it ok to use this project type under ROOT." + (require 'cedet-cscope) (cedet-cscope-version-check) (when (cedet-cscope-support-for-directory root) root)) @@ -334,11 +348,13 @@ Searches are done under the current root of the EDE project that created this EDE locate object." (let ((default-directory (oref loc root))) + (require 'cedet-cscope) (cedet-cscope-expand-filename filesubstring))) (defmethod ede-locate-create/update-root-database :STATIC ((loc ede-locate-cscope) root) "Create or update the GNU Global database for the current project." + (require 'cedet-cscope) (cedet-cscope-create/update-database root)) (provide 'ede/locate) === modified file 'lisp/cedet/semantic.el' --- lisp/cedet/semantic.el 2012-10-14 19:20:28 +0000 +++ lisp/cedet/semantic.el 2012-10-25 20:13:16 +0000 @@ -382,7 +382,7 @@ "When non-nil, activate the interactive parsing debugger. Do not set this yourself. Call `semantic-debug'.") -(defun semantic-elapsed-time (start end) +(defsubst semantic-elapsed-time (start end) "Copied from elp.el. Was `elp-elapsed-time'. Arguments START and END bound the time being calculated." (float-time (time-subtract end start))) === modified file 'lisp/cedet/semantic/analyze.el' --- lisp/cedet/semantic/analyze.el 2012-01-19 07:21:25 +0000 +++ lisp/cedet/semantic/analyze.el 2012-10-25 20:13:16 +0000 @@ -527,7 +527,7 @@ (function nil) (fntag nil) arg fntagend argtag - assign asstag + assign asstag newseq ) ;; Pattern for Analysis: @@ -601,16 +601,26 @@ (if debug-on-error (catch 'unfindable - ;; If debug on error is on, allow debugging in this fcn. (setq prefix (semantic-analyze-find-tag-sequence - prefix scope 'prefixtypes 'unfindable))) + prefix scope 'prefixtypes 'unfindable)) + ;; If there's an alias, dereference it and analyze + ;; sequence again. + (when (setq newseq + (semantic-analyze-dereference-alias prefix)) + (setq prefix (semantic-analyze-find-tag-sequence + newseq scope 'prefixtypes 'unfindable)))) ;; Debug on error is off. Capture errors and move on (condition-case err ;; NOTE: This line is duplicated in ;; semantic-analyzer-debug-global-symbol ;; You will need to update both places. - (setq prefix (semantic-analyze-find-tag-sequence - prefix scope 'prefixtypes)) + (progn + (setq prefix (semantic-analyze-find-tag-sequence + prefix scope 'prefixtypes)) + (when (setq newseq + (semantic-analyze-dereference-alias prefix)) + (setq prefix (semantic-analyze-find-tag-sequence + newseq scope 'prefixtypes)))) (error (semantic-analyze-push-error err)))) ) @@ -679,6 +689,20 @@ ;; Return our context. context-return)) +(defun semantic-analyze-dereference-alias (taglist) + "Dereference first tag in TAGLIST if it is an alias. +Returns a sequence of names which can then be fed again into +`semantic-analyze-find-tag-sequence'. +Returns nil if no alias was found." + (when (eq (semantic-tag-get-attribute (car taglist) :kind) 'alias) + (let ((tagname + (semantic-analyze-split-name + (semantic-tag-name + (car (semantic-tag-get-attribute (car taglist) :members)))))) + (append (if (listp tagname) + tagname + (list tagname)) + (cdr taglist))))) (defun semantic-adebug-analyze (&optional ctxt) "Perform `semantic-analyze-current-context'. === modified file 'lisp/cedet/semantic/chart.el' --- lisp/cedet/semantic/chart.el 2012-01-19 07:21:25 +0000 +++ lisp/cedet/semantic/chart.el 2012-10-25 20:13:16 +0000 @@ -26,12 +26,9 @@ ;; the output of the semantic parser. ;; -(require 'semantic) (require 'chart) (require 'semantic/db) -(require 'semantic/tag) - -(eval-when-compile (require 'semantic/find)) +(require 'semantic/find) ;;; Code: === modified file 'lisp/cedet/semantic/db-el.el' --- lisp/cedet/semantic/db-el.el 2012-10-01 18:10:29 +0000 +++ lisp/cedet/semantic/db-el.el 2012-10-25 20:13:16 +0000 @@ -31,12 +31,7 @@ ;; (require 'semantic/db) - -(eval-when-compile - ;; For generic function searching. - (require 'eieio) - (require 'eieio-opt) - (require 'eieio-base)) +(require 'eieio-opt) (declare-function semantic-elisp-desymbolify "semantic/bovine/el") (declare-function semantic-tag-similar-p "semantic/tag-ls") === modified file 'lisp/cedet/semantic/db-file.el' --- lisp/cedet/semantic/db-file.el 2012-10-23 15:06:07 +0000 +++ lisp/cedet/semantic/db-file.el 2012-10-25 20:13:16 +0000 @@ -25,12 +25,9 @@ ;; A set of semanticdb classes for persistently saving caches on disk. ;; -(require 'semantic) (require 'semantic/db) (require 'cedet-files) - -(eval-when-compile - (require 'data-debug)) +(require 'data-debug) (defvar semanticdb-file-version semantic-version "Version of semanticdb we are writing files to disk with.") === modified file 'lisp/cedet/semantic/grammar-wy.el' --- lisp/cedet/semantic/grammar-wy.el 2012-10-01 18:10:29 +0000 +++ lisp/cedet/semantic/grammar-wy.el 2012-10-25 20:13:16 +0000 @@ -23,9 +23,8 @@ ;;; Code: -(require 'semantic/lex) -(eval-when-compile (require 'semantic/bovine)) - +(require 'semantic) + ;;; Prologue ;; (defvar semantic-grammar-lex-c-char-re) === modified file 'lisp/cedet/semantic/grammar.el' --- lisp/cedet/semantic/grammar.el 2012-10-01 18:10:29 +0000 +++ lisp/cedet/semantic/grammar.el 2012-10-25 20:13:16 +0000 @@ -35,6 +35,7 @@ (require 'semantic/format) (require 'semantic/grammar-wy) (require 'semantic/idle) +(require 'help-fns) (declare-function semantic-momentary-highlight-tag "semantic/decorate") (declare-function semantic-analyze-context "semantic/analyze") @@ -47,6 +48,9 @@ (require 'semantic/find) (require 'semantic/db)) +(declare-function semantic-grammar-wy--install-parser + "semantic/gram-wy-fallback") + ;;;; ;;;; Set up lexer @@ -825,6 +829,8 @@ If optional argument FORCE is non-nil, unconditionally re-generate the Lisp code." (interactive "P") + (unless (semantic-active-p) + (error "You have to activate semantic-mode to create a package.")) (setq force (or force current-prefix-arg)) (semantic-fetch-tags) (let* ( @@ -1636,6 +1642,12 @@ ) "Association of syntax elements, and the corresponding help.") +(declare-function eldoc-function-argstring "eldoc") +(declare-function eldoc-docstring-format-sym-doc "eldoc") +(declare-function eldoc-last-data-store "eldoc") +(declare-function eldoc-get-fnsym-args-string "eldoc") +(declare-function eldoc-get-var-docstring "eldoc") + (defun semantic-grammar-eldoc-get-macro-docstring (macro expander) "Return a one-line docstring for the given grammar MACRO. EXPANDER is the name of the function that expands MACRO." === modified file 'lisp/cedet/semantic/texi.el' --- lisp/cedet/semantic/texi.el 2012-10-01 18:10:29 +0000 +++ lisp/cedet/semantic/texi.el 2012-10-25 20:13:16 +0000 @@ -26,17 +26,11 @@ ;; parser plug-in is the function `semantic-texi-parse-region' that ;; overrides `semantic-parse-region'. -(require 'semantic) +(require 'semantic/db-find) (require 'semantic/format) +(require 'semantic/ctxt) (require 'texinfo) -(eval-when-compile - (require 'semantic/db) - (require 'semantic/db-find) - (require 'semantic/ctxt) - (require 'semantic/find) - (require 'semantic/doc)) - (defvar ede-minor-mode) (declare-function lookup-words "ispell") (declare-function ede-current-project "ede") === modified file 'lisp/cedet/srecode/compile.el' --- lisp/cedet/srecode/compile.el 2012-10-01 18:10:29 +0000 +++ lisp/cedet/srecode/compile.el 2012-10-25 20:13:16 +0000 @@ -199,6 +199,8 @@ (defun srecode-compile-templates () "Compile a semantic recode template file into a mode-local variable." (interactive) + (unless (semantic-active-p) + (error "You have to activate semantic-mode to compile SRecode templates.")) (require 'srecode/insert) (message "Compiling template %s..." (file-name-nondirectory (buffer-file-name))) === modified file 'lisp/cedet/srecode/dictionary.el' --- lisp/cedet/srecode/dictionary.el 2012-10-01 18:10:29 +0000 +++ lisp/cedet/srecode/dictionary.el 2012-10-25 20:13:16 +0000 @@ -604,7 +604,6 @@ "Run data-debug on this mode's dictionary." (interactive) (require 'eieio-datadebug) - (require 'semantic) (require 'srecode/find) (let* ((modesym major-mode) (start (current-time)) === modified file 'lisp/cedet/srecode/insert.el' --- lisp/cedet/srecode/insert.el 2012-10-01 18:10:29 +0000 +++ lisp/cedet/srecode/insert.el 2012-10-25 20:13:16 +0000 @@ -195,6 +195,10 @@ ;; area. Return value is not important. )) +(declare-function data-debug-new-buffer "data-debug") +(declare-function data-debug-insert-stuff-list "data-debug") +(declare-function data-debug-insert-thing dictionary "data-debug") + (defun srecode-insert-show-error-report (dictionary format &rest args) "Display an error report based on DICTIONARY, FORMAT and ARGS. This is intended to diagnose problems with failed template === modified file 'lisp/cedet/srecode/java.el' --- lisp/cedet/srecode/java.el 2012-10-01 18:10:29 +0000 +++ lisp/cedet/srecode/java.el 2012-10-25 20:13:16 +0000 @@ -26,10 +26,7 @@ ;;; Code: (require 'srecode/dictionary) -(require 'semantic/tag) - -(eval-when-compile - (require 'semantic/find)) +(require 'semantic/find) ;;;###autoload (defun srecode-semantic-handle-:java (dict) === modified file 'lisp/cedet/srecode/map.el' --- lisp/cedet/srecode/map.el 2012-10-01 18:10:29 +0000 +++ lisp/cedet/srecode/map.el 2012-10-25 20:13:16 +0000 @@ -215,7 +215,8 @@ ;; Eventually, I want to return many maps to search through. (list srecode-current-map))) -(eval-when-compile (require 'data-debug)) +(declare-function data-debug-new-buffer "data-debug") +(declare-function data-debug-insert-stuff-list "data-debug") (defun srecode-adebug-maps () "Run ADEBUG on the output of `srecode-get-maps'." === modified file 'lisp/emacs-lisp/eieio-opt.el' --- lisp/emacs-lisp/eieio-opt.el 2012-10-01 18:10:29 +0000 +++ lisp/emacs-lisp/eieio-opt.el 2012-10-25 20:13:16 +0000 @@ -29,9 +29,9 @@ ;; (require 'eieio) -(require 'button) +(require 'find-func) +(require 'speedbar) (require 'help-mode) -(require 'find-func) ;;; Code: ;;;###autoload @@ -710,10 +710,6 @@ ;;; SPEEDBAR SUPPORT ;; -(eval-when-compile - (condition-case nil - (require 'speedbar) - (error (message "Error loading speedbar... ignored")))) (defvar eieio-class-speedbar-key-map nil "Keymap used when working with a project in speedbar.") === modified file 'lisp/emacs-lisp/eieio.el' --- lisp/emacs-lisp/eieio.el 2012-10-23 15:06:07 +0000 +++ lisp/emacs-lisp/eieio.el 2012-10-25 20:13:16 +0000 @@ -3049,29 +3049,6 @@ ) ) -;;; Interfacing with imenu in emacs lisp mode -;; (Only if the expression is defined) -;; -(if (eval-when-compile (boundp 'lisp-imenu-generic-expression)) -(progn - -(defun eieio-update-lisp-imenu-expression () - "Examine `lisp-imenu-generic-expression' and modify it to find `defmethod'." - (let ((exp lisp-imenu-generic-expression)) - (while exp - ;; it's of the form '( ( title expr indx ) ... ) - (let* ((subcar (cdr (car exp))) - (substr (car subcar))) - (if (and (not (string-match "|method\\\\" substr)) - (string-match "|advice\\\\" substr)) - (setcar subcar - (replace-match "|advice\\|method\\" t t substr 0)))) - (setq exp (cdr exp))))) - -(eieio-update-lisp-imenu-expression) - -)) - ;;; Autoloading some external symbols, and hooking into the help system ;; ------------------------------------------------------------ revno: 110668 fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12725 committer: Stefan Monnier branch nick: trunk timestamp: Thu 2012-10-25 09:00:52 -0400 message: * lisp/dired.el (dired-get-marked-files): Allow ! on . and ... diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-10-25 12:56:13 +0000 +++ lisp/ChangeLog 2012-10-25 13:00:52 +0000 @@ -1,5 +1,7 @@ 2012-10-25 Stefan Monnier + * dired.el (dired-get-marked-files): Allow ! on . and .. (bug#12725). + * minibuffer.el (minibuffer-force-complete): Fix thinko. * net/ldap.el (ldap-search-internal): The official ldif format starts === modified file 'lisp/dired.el' --- lisp/dired.el 2012-10-24 14:38:49 +0000 +++ lisp/dired.el 2012-10-25 13:00:52 +0000 @@ -620,7 +620,7 @@ (let* ((all-of-them (save-excursion (dired-map-over-marks - (dired-get-filename localp) + (dired-get-filename localp 'no-error-if-not-filep) arg nil distinguish-one-marked))) result) (if (not filter) ------------------------------------------------------------ revno: 110667 committer: Stefan Monnier branch nick: trunk timestamp: Thu 2012-10-25 08:56:13 -0400 message: * lisp/minibuffer.el (minibuffer-force-complete): Fix thinko. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-10-25 12:41:23 +0000 +++ lisp/ChangeLog 2012-10-25 12:56:13 +0000 @@ -1,5 +1,7 @@ 2012-10-25 Stefan Monnier + * minibuffer.el (minibuffer-force-complete): Fix thinko. + * net/ldap.el (ldap-search-internal): The official ldif format starts with a "version: 1" header (bug#12724). === modified file 'lisp/minibuffer.el' --- lisp/minibuffer.el 2012-10-24 19:40:23 +0000 +++ lisp/minibuffer.el 2012-10-25 12:56:13 +0000 @@ -1124,10 +1124,10 @@ (completion--message (if all "No more completions" "No completions"))) ((not (consp (cdr all))) - (let ((mod (equal (car all) (buffer-substring-no-properties base end)))) - (if mod (completion--replace base end (car all))) + (let ((done (equal (car all) (buffer-substring-no-properties base end)))) + (unless done (completion--replace base end (car all))) (completion--done (buffer-substring-no-properties start (point)) - 'finished (unless mod "Sole completion")))) + 'finished (when done "Sole completion")))) (t (completion--replace base end (car all)) (completion--done (buffer-substring-no-properties start (point)) 'sole) ------------------------------------------------------------ revno: 110666 fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12724 committer: Stefan Monnier branch nick: trunk timestamp: Thu 2012-10-25 08:41:23 -0400 message: * lisp/net/ldap.el (ldap-search-internal): The official ldif format starts with a "version: 1" header. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-10-25 12:38:09 +0000 +++ lisp/ChangeLog 2012-10-25 12:41:23 +0000 @@ -1,5 +1,8 @@ 2012-10-25 Stefan Monnier + * net/ldap.el (ldap-search-internal): The official ldif format starts + with a "version: 1" header (bug#12724). + * emacs-lisp/package.el (package-installed-p): Warn if not ready (bug#12721). === modified file 'lisp/net/ldap.el' --- lisp/net/ldap.el 2012-07-11 23:13:41 +0000 +++ lisp/net/ldap.el 2012-10-25 12:41:23 +0000 @@ -604,6 +604,7 @@ ;; Skip error message when retrieving attribute list (if (looking-at "Size limit exceeded") (forward-line 1)) + (if (looking-at "version:") (forward-line 1)) ;bug#12724. (while (progn (skip-chars-forward " \t\n") (not (eobp))) ------------------------------------------------------------ revno: 110665 fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12721 committer: Stefan Monnier branch nick: trunk timestamp: Thu 2012-10-25 08:38:09 -0400 message: * lisp/emacs-lisp/package.el (package-installed-p): Warn if not ready. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-10-25 00:58:40 +0000 +++ lisp/ChangeLog 2012-10-25 12:38:09 +0000 @@ -1,3 +1,8 @@ +2012-10-25 Stefan Monnier + + * emacs-lisp/package.el (package-installed-p): Warn if not ready + (bug#12721). + 2012-10-25 Glenn Morris * emacs-lisp/cl-macs.el (cl-progv): Doc fix. === modified file 'lisp/emacs-lisp/package.el' --- lisp/emacs-lisp/package.el 2012-09-24 16:36:42 +0000 +++ lisp/emacs-lisp/package.el 2012-10-25 12:38:09 +0000 @@ -728,6 +728,7 @@ (defun package-installed-p (package &optional min-version) "Return true if PACKAGE, of MIN-VERSION or newer, is installed. MIN-VERSION should be a version list." + (unless package--initialized (error "package.el is not yet initialized!")) (let ((pkg-desc (assq package package-alist))) (if pkg-desc (version-list-<= min-version ------------------------------------------------------------ revno: 110664 committer: Michael Albinus + + * tramp.texi (Frequently Asked Questions): Mention + `tramp-completion-reread-directory-timeout' for performance + improvement. + 2012-10-25 Glenn Morris * cl.texi: Don't mess with the TeX section number counter. === modified file 'doc/misc/tramp.texi' --- doc/misc/tramp.texi 2012-10-23 15:06:07 +0000 +++ doc/misc/tramp.texi 2012-10-25 12:08:44 +0000 @@ -2918,7 +2918,8 @@ @code{tramp-persistency-file-name}. Keep this file. If you are confident that files on remote hosts are not changed out of @value{emacsname}' control, set @code{remote-file-name-inhibit-cache} -to @code{nil}. +to @code{nil}. Set also @code{tramp-completion-reread-directory-timeout} +to @code{nil}, @ref{Filename completion}. Disable version control. If you access remote files which are not under version control, a lot of check operations can be avoided by ------------------------------------------------------------ revno: 110663 committer: Glenn Morris branch nick: trunk timestamp: Thu 2012-10-25 06:17:47 -0400 message: Auto-commit of loaddefs files. diff: === modified file 'lisp/emacs-lisp/cl-loaddefs.el' --- lisp/emacs-lisp/cl-loaddefs.el 2012-10-09 06:01:10 +0000 +++ lisp/emacs-lisp/cl-loaddefs.el 2012-10-25 10:17:47 +0000 @@ -260,7 +260,7 @@ ;;;;;; cl-typecase cl-ecase cl-case cl-load-time-value cl-eval-when ;;;;;; cl-destructuring-bind cl-function cl-defmacro cl-defun cl-gentemp ;;;;;; cl-gensym cl--compiler-macro-cXXr cl--compiler-macro-list*) -;;;;;; "cl-macs" "cl-macs.el" "885919e79dbcd11081cfb2e039b470c7") +;;;;;; "cl-macs" "cl-macs.el" "366e9efa4e3e7a81b2253e503611b23a") ;;; Generated autoloads from cl-macs.el (autoload 'cl--compiler-macro-list* "cl-macs" "\ @@ -485,7 +485,7 @@ Bind SYMBOLS to VALUES dynamically in BODY. The forms SYMBOLS and VALUES are evaluated, and must evaluate to lists. Each symbol in the first list is bound to the corresponding value in the -second list (or made unbound if VALUES is shorter than SYMBOLS); then the +second list (or to nil if VALUES is shorter than SYMBOLS); then the BODY forms are executed and their result is returned. This is much like a `let' form, except that the list of symbols can be computed at run-time. ------------------------------------------------------------ revno: 110662 committer: Paul Eggert branch nick: trunk timestamp: Wed 2012-10-24 21:35:39 -0700 message: Don't assume process IDs fit in int. * emacs.c (shut_down_emacs) [!DOS_NT]: * sysdep.c (sys_suspend) [SIGTSTP && !MSDOS]: * term.c (dissociate_if_controlling_tty) [!DOS_NT]: Use pid_t, not int, to store process IDs, as 'int' is not wide enough on a few platforms (e.g., AIX and IRIX). diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-10-23 15:47:51 +0000 +++ src/ChangeLog 2012-10-25 04:35:39 +0000 @@ -1,3 +1,12 @@ +2012-10-25 Paul Eggert + + Don't assume process IDs fit in int. + * emacs.c (shut_down_emacs) [!DOS_NT]: + * sysdep.c (sys_suspend) [SIGTSTP && !MSDOS]: + * term.c (dissociate_if_controlling_tty) [!DOS_NT]: + Use pid_t, not int, to store process IDs, as 'int' + is not wide enough on a few platforms (e.g., AIX and IRIX). + 2012-10-23 Kenichi Handa The following change is to make face-font-rescale-alist work === modified file 'src/emacs.c' --- src/emacs.c 2012-10-08 22:14:39 +0000 +++ src/emacs.c 2012-10-25 04:35:39 +0000 @@ -1903,8 +1903,8 @@ /* If we are controlling the terminal, reset terminal modes. */ #ifndef DOS_NT { - int pgrp = EMACS_GETPGRP (0); - int tpgrp = tcgetpgrp (0); + pid_t pgrp = EMACS_GETPGRP (0); + pid_t tpgrp = tcgetpgrp (0); if ((tpgrp != -1) && tpgrp == pgrp) { reset_all_sys_modes (); === modified file 'src/sysdep.c' --- src/sysdep.c 2012-10-19 19:25:18 +0000 +++ src/sysdep.c 2012-10-25 04:35:39 +0000 @@ -452,7 +452,7 @@ #if defined (SIGTSTP) && !defined (MSDOS) { - int pgrp = EMACS_GETPGRP (0); + pid_t pgrp = EMACS_GETPGRP (0); EMACS_KILLPG (pgrp, SIGTSTP); } === modified file 'src/term.c' --- src/term.c 2012-10-19 19:25:18 +0000 +++ src/term.c 2012-10-25 04:35:39 +0000 @@ -2919,7 +2919,7 @@ dissociate_if_controlling_tty (int fd) { #ifndef DOS_NT - int pgid = tcgetpgrp (fd); /* If tcgetpgrp succeeds, fd is the ctty. */ + pid_t pgid = tcgetpgrp (fd); /* If tcgetpgrp succeeds, fd is the ctty. */ if (pgid != -1) { #if defined (USG5) ------------------------------------------------------------ Use --include-merged or -n0 to see merged revisions.