Now on revision 112249. ------------------------------------------------------------ revno: 112249 fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14144 committer: Stefan Monnier branch nick: trunk timestamp: Sun 2013-04-07 22:21:59 -0400 message: * lisp/emacs-lisp/edebug.el (edebug-mode): Fix typo. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-08 02:08:45 +0000 +++ lisp/ChangeLog 2013-04-08 02:21:59 +0000 @@ -1,5 +1,7 @@ 2013-04-08 Stefan Monnier + * emacs-lisp/edebug.el (edebug-mode): Fix typo (bug#14144). + * emacs-lisp/timer.el (timer-event-handler): Don't retrigger a canceled timer (bug#14156). === modified file 'lisp/emacs-lisp/edebug.el' --- lisp/emacs-lisp/edebug.el 2013-04-01 07:58:04 +0000 +++ lisp/emacs-lisp/edebug.el 2013-04-08 02:21:59 +0000 @@ -3814,7 +3814,7 @@ (remove-hook 'kill-buffer-hook 'edebug-kill-buffer t)) (pcase-dolist (`(,var . ,val) '((buffer-read-only . t))) (push - (if (local-variable-p var) var (cons var (symbol-value var))) + (if (local-variable-p var) (cons var (symbol-value var)) var) edebug--mode-saved-vars) (set (make-local-variable var) val)) ;; Append `edebug-kill-buffer' to the hook to avoid interfering with ------------------------------------------------------------ revno: 112248 fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14156 committer: Stefan Monnier branch nick: trunk timestamp: Sun 2013-04-07 22:08:45 -0400 message: * lisp/emacs-lisp/timer.el (timer-event-handler): Don't retrigger a canceled timer. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-07 18:56:28 +0000 +++ lisp/ChangeLog 2013-04-08 02:08:45 +0000 @@ -1,3 +1,8 @@ +2013-04-08 Stefan Monnier + + * emacs-lisp/timer.el (timer-event-handler): Don't retrigger a canceled + timer (bug#14156). + 2013-04-07 Nic Ferrier * emacs-lisp/ert.el (should, should-not, should-error): Add edebug === modified file 'lisp/emacs-lisp/timer.el' --- lisp/emacs-lisp/timer.el 2013-01-13 01:23:48 +0000 +++ lisp/emacs-lisp/timer.el 2013-04-08 02:08:45 +0000 @@ -314,8 +314,12 @@ (save-current-buffer (apply (timer--function timer) (timer--args timer))) (error (message "Error in timer: %S" err))) - (if retrigger - (setf (timer--triggered timer) nil))) + (when (and retrigger + ;; If the timer's been canceled, don't "retrigger" it + ;; since it might still be in the copy of timer-list kept + ;; by keyboard.c:timer_check (bug#14156). + (memq timer timer-list)) + (setf (timer--triggered timer) nil))) (error "Bogus timer event")))) ;; This function is incompatible with the one in levents.el. ------------------------------------------------------------ revno: 112247 committer: Stefan Monnier branch nick: trunk timestamp: Sun 2013-04-07 16:42:11 -0400 message: * emacs-lisp/ert.el: Fix paren typo. diff: === modified file 'lisp/emacs-lisp/ert.el' --- lisp/emacs-lisp/ert.el 2013-04-07 18:56:28 +0000 +++ lisp/emacs-lisp/ert.el 2013-04-07 20:42:11 +0000 @@ -464,7 +464,7 @@ "Evaluate FORM. If it returns nil, abort the current test as failed. Returns the value of FORM." - (declare (debug t))) + (declare (debug t)) (ert--expand-should `(should ,form) form (lambda (inner-form form-description-form _value-var) `(unless ,inner-form @@ -474,7 +474,7 @@ "Evaluate FORM. If it returns non-nil, abort the current test as failed. Returns nil." - (declare (debug t))) + (declare (debug t)) (ert--expand-should `(should-not ,form) form (lambda (inner-form form-description-form _value-var) `(unless (not ,inner-form) ------------------------------------------------------------ revno: 112246 author: Nic Ferrier committer: Stefan Monnier branch nick: trunk timestamp: Sun 2013-04-07 14:56:28 -0400 message: * lisp/emacs-lisp/ert.el (should, should-not, should-error): Add edebug declaration. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-07 07:14:00 +0000 +++ lisp/ChangeLog 2013-04-07 18:56:28 +0000 @@ -1,3 +1,8 @@ +2013-04-07 Nic Ferrier + + * emacs-lisp/ert.el (should, should-not, should-error): Add edebug + declaration. + 2013-04-07 Leo Liu * pcmpl-x.el: New file. @@ -31,8 +36,8 @@ 2013-04-05 Dmitry Gutov - * whitespace.el (whitespace-color-on, whitespace-color-off): Only - call `font-lock-fontify-buffer' when `font-lock-mode' is on. + * whitespace.el (whitespace-color-on, whitespace-color-off): + Only call `font-lock-fontify-buffer' when `font-lock-mode' is on. 2013-04-05 Jacek Chrząszcz (tiny change) === modified file 'lisp/emacs-lisp/ert.el' --- lisp/emacs-lisp/ert.el 2013-02-04 07:46:22 +0000 +++ lisp/emacs-lisp/ert.el 2013-04-07 18:56:28 +0000 @@ -464,6 +464,7 @@ "Evaluate FORM. If it returns nil, abort the current test as failed. Returns the value of FORM." + (declare (debug t))) (ert--expand-should `(should ,form) form (lambda (inner-form form-description-form _value-var) `(unless ,inner-form @@ -473,6 +474,7 @@ "Evaluate FORM. If it returns non-nil, abort the current test as failed. Returns nil." + (declare (debug t))) (ert--expand-should `(should-not ,form) form (lambda (inner-form form-description-form _value-var) `(unless (not ,inner-form) @@ -520,6 +522,7 @@ If the error matches, returns (ERROR-SYMBOL . DATA) from the error. If not, or if no error was signaled, abort the test as failed." + (declare (debug t)) (unless type (setq type ''error)) (ert--expand-should `(should-error ,form ,@keys) ------------------------------------------------------------ revno: 112245 fixes bug: http://debbugs.gnu.org/13702 committer: Eli Zaretskii branch nick: trunk timestamp: Sun 2013-04-07 19:18:41 +0300 message: Provide definition of ACL_NOT_WELL_SUPPORTED for MS-Windows. src/fileio.c (ACL_NOT_WELL_SUPPORTED): Define macro for WINDOWSNT. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-04-07 11:21:39 +0000 +++ src/ChangeLog 2013-04-07 16:18:41 +0000 @@ -1,3 +1,7 @@ +2013-04-07 Eli Zaretskii + + * fileio.c (ACL_NOT_WELL_SUPPORTED): Define macro for WINDOWSNT. + 2013-04-07 Romain Francoise Ignore additional platform-specific ACL errors (Bug#13702). === modified file 'src/fileio.c' --- src/fileio.c 2013-04-07 11:21:39 +0000 +++ src/fileio.c 2013-04-07 16:18:41 +0000 @@ -92,6 +92,8 @@ #elif defined EOPNOTSUPP /* Tru64 NFS */ #define ACL_NOT_WELL_SUPPORTED(Err) \ ((Err) == ENOTSUP || (Err) == ENOSYS || (Err) == EINVAL || (Err) == EBUSY || (Err) == EOPNOTSUPP) +#elif defined WINDOWSNT +#define ACL_NOT_WELL_SUPPORTED(Err) ((Err) == ENOTSUP) #else #define ACL_NOT_WELL_SUPPORTED(Err) \ ((Err) == ENOTSUP || (Err) == ENOSYS || (Err) == EINVAL || (Err) == EBUSY) ------------------------------------------------------------ revno: 112244 committer: Romain Francoise branch nick: trunk timestamp: Sun 2013-04-07 13:21:39 +0200 message: Ignore additional platform-specific ACL errors (Bug#13702). * fileio.c (ACL_NOT_WELL_SUPPORTED): New macro copied from gnulib. (Fcopy_file, Fset_file_acl) [HAVE_POSIX_ACL]: Use it. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-04-07 10:51:29 +0000 +++ src/ChangeLog 2013-04-07 11:21:39 +0000 @@ -1,3 +1,9 @@ +2013-04-07 Romain Francoise + + Ignore additional platform-specific ACL errors (Bug#13702). + * fileio.c (ACL_NOT_WELL_SUPPORTED): New macro copied from gnulib. + (Fcopy_file, Fset_file_acl) [HAVE_POSIX_ACL]: Use it. + 2013-03-31 Jan Djärv * nsterm.m (ns_mouse_position): Use NS_FRAME_P instead of checking === modified file 'src/fileio.c' --- src/fileio.c 2013-04-07 04:41:19 +0000 +++ src/fileio.c 2013-04-07 11:21:39 +0000 @@ -81,6 +81,23 @@ #define DRIVE_LETTER(x) c_tolower (x) #endif +#ifdef HAVE_POSIX_ACL +/* FIXME: this macro was copied from gnulib's private acl-internal.h + header file. */ +/* Recognize some common errors such as from an NFS mount that does + not support ACLs, even when local drives do. */ +#if defined __APPLE__ && defined __MACH__ /* Mac OS X */ +#define ACL_NOT_WELL_SUPPORTED(Err) \ + ((Err) == ENOTSUP || (Err) == ENOSYS || (Err) == EINVAL || (Err) == EBUSY || (Err) == ENOENT) +#elif defined EOPNOTSUPP /* Tru64 NFS */ +#define ACL_NOT_WELL_SUPPORTED(Err) \ + ((Err) == ENOTSUP || (Err) == ENOSYS || (Err) == EINVAL || (Err) == EBUSY || (Err) == EOPNOTSUPP) +#else +#define ACL_NOT_WELL_SUPPORTED(Err) \ + ((Err) == ENOTSUP || (Err) == ENOSYS || (Err) == EINVAL || (Err) == EBUSY) +#endif +#endif /* HAVE_POSIX_ACL */ + #include "systime.h" #include #include @@ -2011,7 +2028,7 @@ { #ifdef HAVE_POSIX_ACL acl = acl_get_file (SDATA (encoded_file), ACL_TYPE_ACCESS); - if (acl == NULL && errno != ENOTSUP) + if (acl == NULL && !ACL_NOT_WELL_SUPPORTED (errno)) report_file_error ("Getting ACL", Fcons (file, Qnil)); #endif } @@ -2055,7 +2072,7 @@ { bool fail = acl_set_file (SDATA (encoded_newname), ACL_TYPE_ACCESS, acl) != 0; - if (fail && errno != ENOTSUP) + if (fail && !ACL_NOT_WELL_SUPPORTED (errno)) report_file_error ("Setting ACL", Fcons (newname, Qnil)); acl_free (acl); @@ -2087,7 +2104,7 @@ #ifdef HAVE_POSIX_ACL acl = acl_get_fd (ifd); - if (acl == NULL && errno != ENOTSUP) + if (acl == NULL && !ACL_NOT_WELL_SUPPORTED (errno)) report_file_error ("Getting ACL", Fcons (file, Qnil)); #endif } @@ -2176,7 +2193,7 @@ if (acl != NULL) { bool fail = acl_set_fd (ofd, acl) != 0; - if (fail && errno != ENOTSUP) + if (fail && !ACL_NOT_WELL_SUPPORTED (errno)) report_file_error ("Setting ACL", Fcons (newname, Qnil)); acl_free (acl); @@ -3174,7 +3191,7 @@ fail = (acl_set_file (SSDATA (encoded_absname), ACL_TYPE_ACCESS, acl) != 0); - if (fail && errno != ENOTSUP) + if (fail && !ACL_NOT_WELL_SUPPORTED (errno)) report_file_error ("Setting ACL", Fcons (absname, Qnil)); acl_free (acl); ------------------------------------------------------------ revno: 112243 committer: Jan D. branch nick: trunk timestamp: Sun 2013-04-07 13:01:56 +0200 message: * PROBLEMS: Mention Ubuntu warnings about libdbusmenu. diff: === modified file 'etc/ChangeLog' --- etc/ChangeLog 2013-04-02 03:33:31 +0000 +++ etc/ChangeLog 2013-04-07 11:01:56 +0000 @@ -1,3 +1,7 @@ +2013-04-07 Jan Djärv + + * PROBLEMS: Mention Ubuntu warnings about libdbusmenu. + 2013-04-02 Fabrice Niessen * themes/leuven-theme.el: Update theme. === modified file 'etc/PROBLEMS' --- etc/PROBLEMS 2013-03-18 16:41:24 +0000 +++ etc/PROBLEMS 2013-04-07 11:01:56 +0000 @@ -1405,6 +1405,24 @@ manager in versions of xfce4-settings-helper before 4.8.2 is buggy; https://bugzilla.xfce.org/show_bug.cgi?id=7588 . +*** Warning messages when running in Ubuntu + +When you start Emacs you may see something like this: + +(emacs:2286): LIBDBUSMENU-GTK-CRITICAL **: watch_submenu: assertion +`GTK_IS_MENU_SHELL(menu)' failed + +This happens if the Emacs binary has been renamed. The cause it the Ubuntu +appmenu concept. It tries to track Emacs menus and show them in the top +panel, instead of in each Emacs window. This is not properly implemented, +so it fails for Emacs. The order of menus is wrong, and things like copy/paste +that depends on what state Emacs is in, is usually wrong (i.e. paste disabled +even if you should be able to paste, and similar). + +You can get back menus on each frame by starting emacs like this: +% env UBUNTU_MENUPROXY= emacs + + * Runtime problems on character terminals ** The meta key does not work on xterm. ------------------------------------------------------------ revno: 112242 committer: Jan D. branch nick: trunk timestamp: Sun 2013-04-07 12:51:29 +0200 message: * nsterm.m (ns_mouse_position): Use NS_FRAME_P instead of checking f->output_data.ns. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-04-07 06:21:40 +0000 +++ src/ChangeLog 2013-04-07 10:51:29 +0000 @@ -1,3 +1,8 @@ +2013-03-31 Jan Djärv + + * nsterm.m (ns_mouse_position): Use NS_FRAME_P instead of checking + f->output_data.ns. + 2013-04-07 Paul Eggert Fix --enable-profiling bug introduced by 2013-02-25 change (Bug#13783). === modified file 'src/nsterm.m' --- src/nsterm.m 2013-04-07 04:41:19 +0000 +++ src/nsterm.m 2013-04-07 10:51:29 +0000 @@ -1883,7 +1883,7 @@ f = dpyinfo->x_focus_frame ? dpyinfo->x_focus_frame : SELECTED_FRAME (); - if (f && f->output_data.ns) /* TODO: 2nd check no longer needed? */ + if (f && FRAME_NS_P (f)) { view = FRAME_NS_VIEW (*fp); ------------------------------------------------------------ revno: 112241 committer: Glenn Morris branch nick: trunk timestamp: Sun 2013-04-07 06:19:05 -0400 message: Auto-commit of generated files. diff: === modified file 'autogen/Makefile.in' --- autogen/Makefile.in 2013-03-14 10:17:38 +0000 +++ autogen/Makefile.in 2013-04-07 10:19:05 +0000 @@ -1019,7 +1019,7 @@ string.h-t sys/select.h sys/select.h-t sys/stat.h sys/stat.h-t \ sys/time.h sys/time.h-t time.h time.h-t unistd.h unistd.h-t noinst_LIBRARIES = libgnu.a -AM_CFLAGS = $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS) +AM_CFLAGS = $(PROFILING_CFLAGS) $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS) DEFAULT_INCLUDES = -I. -I$(top_srcdir)/lib -I../src -I$(top_srcdir)/src libgnu_a_SOURCES = allocator.c c-ctype.h c-ctype.c c-strcase.h \ c-strcasecmp.c c-strncasecmp.c careadlinkat.c close-stream.c \ === modified file 'autogen/configure' --- autogen/configure 2013-03-31 10:17:42 +0000 +++ autogen/configure 2013-04-07 10:19:05 +0000 @@ -26667,6 +26667,13 @@ *) LD_SWITCH_SYSTEM_TEMACS= ;; esac +if test x$ac_enable_profiling != x ; then + case $opsys in + *freebsd | gnu-linux) ;; + *) LD_SWITCH_SYSTEM_TEMACS="$LD_SWITCH_SYSTEM_TEMACS -pg" ;; + esac +fi + ## Common for all window systems ------------------------------------------------------------ revno: 112240 committer: Leo Liu branch nick: trunk timestamp: Sun 2013-04-07 15:14:00 +0800 message: * pcmpl-x.el: New file. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-04-06 14:06:39 +0000 +++ lisp/ChangeLog 2013-04-07 07:14:00 +0000 @@ -1,3 +1,7 @@ +2013-04-07 Leo Liu + + * pcmpl-x.el: New file. + 2013-04-06 Dmitry Antipov Do not set x-display-name until X connection is established. === added file 'lisp/pcmpl-x.el' --- lisp/pcmpl-x.el 1970-01-01 00:00:00 +0000 +++ lisp/pcmpl-x.el 2013-04-07 07:14:00 +0000 @@ -0,0 +1,249 @@ +;;; pcmpl-x.el --- completion for miscellaneous tools -*- lexical-binding: t; -*- + +;; Copyright (C) 2013 Free Software Foundation, Inc. + +;; Author: Leo Liu +;; Keywords: processes, tools, convenience +;; Package: pcomplete + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Code: + +(eval-when-compile (require 'cl-lib)) +(require 'pcomplete) + + +;;;; tlmgr - http://www.tug.org/texlive/tlmgr.html + +(defcustom pcmpl-x-tlmgr-program "tlmgr" + "Name of the tlmgr program." + :type 'file + :group 'pcomplete) + +(defvar pcmpl-x-tlmgr-common-options + '("--repository" + "--gui" + "--gui-lang" + "--machine-readable" + "--package-logfile" + "--pause" + "--persistent-downloads" + "--no-persistent-downloads" + "--no-execute-actions" + "--debug-translation" + "--help" + "--version")) + +(defvar pcmpl-x-tlmgr-actions + '(("help") + ("version") + ("gui") + ("install") + ("update") + ("backup") + ("restore") + ("remove") + ("repository" ("list" "add" "remove" "set")) + ("candidates") + ("option" ("show" + "showall" + "repository" + "formats" + "postcode" + "docfiles" + "srcfiles" + "backupdir" + "autobackup" + "sys_bin" + "sys_man" + "sys_info" + "desktop_integration" + "fileassocs" + "multiuser")) + ("conf" ("texmf" "tlmgr")) + ("paper" + ("a4" "letter" "xdvi" "pdftex" "dvips" "dvipdfmx" "dvipdfm" "context") + (lambda () + (unless (member (pcomplete-arg 1) '("a4" "letter")) + (pcomplete-here* '("paper")) + (pcomplete-here* '("a4" "letter"))))) + ("platform" ("list" "add" "remove")) + ("print-platform" ("collections" "schemes")) + ("arch" ("list" "add" "remove")) + ("print-arch" ("collections" "schemes")) + ("info" ("collections" "schemes")) + ("search") + ("dump-tlpdb") + ("check" ("files" "depends" "executes" "runfiles" "all")) + ("path" ("add" "remove")) + ("postaction" ("install" "remove") ("shortcut" "fileassoc" "script")) + ("uninstall") + ("generate" ("language" + "language.dat" + "language.def" + "language.dat.lua" + "fmtutil")))) + +(defvar pcmpl-x-tlmgr-options-cache (make-hash-table :size 31 :test 'equal)) + +(defun pcmpl-x-tlmgr-action-options (action) + "Get the list of long options for ACTION." + (if (eq (gethash action pcmpl-x-tlmgr-options-cache 'missing) 'missing) + (with-temp-buffer + (when (zerop + (call-process pcmpl-x-tlmgr-program nil t nil action "-h")) + (goto-char (point-min)) + (puthash action + (cons "--help" + (cl-loop while (re-search-forward + "^[ \t]+\\(--[[:alnum:]-]+=?\\)" + nil t) + collect (match-string 1))) + pcmpl-x-tlmgr-options-cache) + (pcmpl-x-tlmgr-action-options action))) + (gethash action pcmpl-x-tlmgr-options-cache))) + +;;;###autoload +(defun pcomplete/tlmgr () + "Completion for the `tlmgr' command." + (while (pcomplete-match "^--" 0) + (pcomplete-here* pcmpl-x-tlmgr-common-options) + (unless (or (pcomplete-match "^--" 0) + (all-completions (pcomplete-arg 0) pcmpl-x-tlmgr-actions)) + (pcomplete-here* (pcomplete-dirs-or-entries)))) + (pcomplete-here* pcmpl-x-tlmgr-actions) + (let ((action (substring-no-properties (pcomplete-arg 1)))) + (while t + (if (pcomplete-match "^--" 0) + (pcomplete-here* (pcmpl-x-tlmgr-action-options action)) + (dolist (completions (cdr (assoc action pcmpl-x-tlmgr-actions))) + (cond ((functionp completions) + (funcall completions)) + ((all-completions (pcomplete-arg 0) completions) + (pcomplete-here* completions)) + (t (pcomplete-here* (pcomplete-dirs-or-entries))))) + (unless (pcomplete-match "^--" 0) + (pcomplete-here* (pcomplete-dirs-or-entries))))))) + + +;;;; ack - http://betterthangrep.com + +;; Usage: +;; - To complete short options type '-' first +;; - To complete long options type '--' first +;; - Color name completion is supported following +;; --color-filename=, --color-match= and --color-lineno= +;; - Type completion is supported following --type= + +(defcustom pcmpl-x-ack-program + (file-name-nondirectory (or (executable-find "ack-grep") + (executable-find "ack") + "ack")) + "Name of the ack program." + :type 'file + :group 'pcomplete) + +(defvar pcmpl-x-ack-color-options + '("clear" + "reset" + "dark" + "bold" + "underline" + "underscore" + "blink" + "reverse" + "concealed" + "black" + "red" + "green" + "yellow" + "blue" + "magenta" + "on_black" + "on_red" + "on_green" + "on_yellow" + "on_blue" + "on_magenta" + "on_cyan" + "on_white") + "Color names for the `ack' command.") + +(defun pcmpl-x-ack-run (buffer &rest args) + "Run ack with ARGS and send the output to BUFFER." + (condition-case nil + (apply 'call-process (or pcmpl-x-ack-program "ack") nil buffer nil args) + (file-error -1))) + +(defun pcmpl-x-ack-short-options () + "Short options for the `ack' command." + (with-temp-buffer + (let (options) + (when (zerop (pcmpl-x-ack-run t "--help")) + (goto-char (point-min)) + (while (re-search-forward "^ -\\([^-]\\)" nil t) + (push (match-string 1) options)) + (mapconcat 'identity (nreverse options) ""))))) + +(defun pcmpl-x-ack-long-options (&optional arg) + "Long options for the `ack' command." + (with-temp-buffer + (let (options) + (when (zerop (pcmpl-x-ack-run t (or arg "--help"))) + (goto-char (point-min)) + (while (re-search-forward + "\\(?: ?\\|, \\)\\(--\\(\\[no\\]\\)?\\([[:alnum:]-]+=?\\)\\)" + nil t) + (if (not (match-string 2)) + (push (match-string 1) options) + (push (concat "--" (match-string 3)) options) + (push (concat "--no" (match-string 3)) options))) + (nreverse options))))) + +(defun pcmpl-x-ack-type-options () + "A list of types for the `ack' command." + (pcmpl-x-ack-long-options "--help-types")) + +;;;###autoload +(defun pcomplete/ack () + "Completion for the `ack' command. +Start an argument with '-' to complete short options and '--' for +long options." + ;; No space after = + (while t + (if (pcomplete-match "^-" 0) + (cond + ((pcomplete-match "^--color-\\w+=\\(\\S-*\\)" 0) + (pcomplete-here* pcmpl-x-ack-color-options + (pcomplete-match-string 1 0) t)) + ((pcomplete-match "^--\\(?:no\\)?ignore-dir=\\(\\S-*\\)" 0) + (pcomplete-here* (pcomplete-dirs) + (pcomplete-match-string 1 0) t)) + ((pcomplete-match "^--type=\\(\\S-*\\)" 0) + (pcomplete-here* (mapcar (lambda (type-option) + (substring type-option 2)) + (pcmpl-x-ack-type-options)) + (pcomplete-match-string 1 0) t)) + ((pcomplete-match "^--" 0) + (pcomplete-here* (append (pcmpl-x-ack-long-options) + (pcmpl-x-ack-type-options)))) + (t (pcomplete-opt (pcmpl-x-ack-short-options)))) + (pcomplete-here* (pcomplete-dirs-or-entries))))) + +;;;###autoload +(defalias 'pcomplete/ack-grep 'pcomplete/ack) + +(provide 'pcmpl-x) +;;; pcmpl-x.el ends here ------------------------------------------------------------ revno: 112239 fixes bug: http://debbugs.gnu.org/13783 committer: Paul Eggert branch nick: trunk timestamp: Sat 2013-04-06 23:21:40 -0700 message: Fix --enable-profiling bug introduced by 2013-02-25 change. This bug was introduced by my 2013-02-25 change that simplified data_start configuration. Without this change, on GNU/Linux an Emacs configured with --enable-profiling fails immediately due to a profiler signal. * configure.ac (LD_SWITCH_SYSTEM_TEMACS): Append -pg if profiling and if not on GNU/Linux or FreeBSD. * lib/Makefile.am (AM_CFLAGS): Add $(PROFILING_CFLAGS), so that lib/*.o is profiled too. * src/Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link with these flags. On platforms where special flags are needed when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS. (ALL_CFLAGS): Remove $(PROFILING_CFLAGS). (.c.o, .m.o): Compile with $(PROFILING_CFLAGS). diff: === modified file 'ChangeLog' --- ChangeLog 2013-04-04 03:46:25 +0000 +++ ChangeLog 2013-04-07 06:21:40 +0000 @@ -1,3 +1,11 @@ +2013-04-07 Paul Eggert + + Fix --enable-profiling bug introduced by 2013-02-25 change (Bug#13783). + * configure.ac (LD_SWITCH_SYSTEM_TEMACS): Append -pg if profiling + and if not on GNU/Linux or FreeBSD. + * lib/Makefile.am (AM_CFLAGS): Add $(PROFILING_CFLAGS), so that + lib/*.o is profiled too. + 2013-03-30 Paul Eggert Merge from gnulib, incorporating: === modified file 'configure.ac' --- configure.ac 2013-03-27 05:13:31 +0000 +++ configure.ac 2013-04-07 06:21:40 +0000 @@ -4185,6 +4185,13 @@ *) LD_SWITCH_SYSTEM_TEMACS= ;; esac +if test x$ac_enable_profiling != x ; then + case $opsys in + *freebsd | gnu-linux) ;; + *) LD_SWITCH_SYSTEM_TEMACS="$LD_SWITCH_SYSTEM_TEMACS -pg" ;; + esac +fi + AC_SUBST(LD_SWITCH_SYSTEM_TEMACS) ## Common for all window systems === modified file 'lib/Makefile.am' --- lib/Makefile.am 2013-02-01 06:30:51 +0000 +++ lib/Makefile.am 2013-04-07 06:21:40 +0000 @@ -4,7 +4,7 @@ MOSTLYCLEANFILES = noinst_LIBRARIES = -AM_CFLAGS = $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS) +AM_CFLAGS = $(PROFILING_CFLAGS) $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS) DEFAULT_INCLUDES = -I. -I$(top_srcdir)/lib -I../src -I$(top_srcdir)/src include gnulib.mk === modified file 'src/ChangeLog' --- src/ChangeLog 2013-04-07 04:41:19 +0000 +++ src/ChangeLog 2013-04-07 06:21:40 +0000 @@ -1,3 +1,16 @@ +2013-04-07 Paul Eggert + + Fix --enable-profiling bug introduced by 2013-02-25 change (Bug#13783). + This bug was introduced by my 2013-02-25 change that simplified + data_start configuration. Without this change, on GNU/Linux + an Emacs configured with --enable-profiling fails immediately + due to a profiler signal. + * Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link + with these flags. On platforms where special flags are needed + when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS. + (ALL_CFLAGS): Remove $(PROFILING_CFLAGS). + (.c.o, .m.o): Compile with $(PROFILING_CFLAGS). + 2013-04-07 Dmitry Antipov Get rid of some platform-specific functions examining window === modified file 'src/Makefile.in' --- src/Makefile.in 2013-03-13 18:42:22 +0000 +++ src/Makefile.in 2013-04-07 06:21:40 +0000 @@ -317,7 +317,7 @@ $(GNUSTEP_CFLAGS) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \ $(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \ $(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \ - $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) $(PROFILING_CFLAGS) \ + $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) \ $(LIBGNUTLS_CFLAGS) \ $(WARN_CFLAGS) $(WERROR_CFLAGS) $(CFLAGS) ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS) @@ -325,10 +325,10 @@ .SUFFIXES: .m .c.o: @$(MKDEPDIR) - $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $< + $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $(PROFILING_CFLAGS) $< .m.o: @$(MKDEPDIR) - $(CC) -c $(CPPFLAGS) $(ALL_OBJC_CFLAGS) $< + $(CC) -c $(CPPFLAGS) $(ALL_OBJC_CFLAGS) $(PROFILING_CFLAGS) $< ## lastfile must follow all files whose initialized data areas should ## be dumped as pure by dump-emacs.