From: John Wiegley Date: Tue, 12 Jan 2016 06:51:27 +0000 (-0800) Subject: Merge from origin/emacs-25 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/c7bef6a4f033fa6b22906de0be6da54958d5b3c3?hp=-c Merge from origin/emacs-25 1f6898d test/automated/vc-hg.el: Support out-of-tree build 3adb56e Minor change in tramp-tests.el 2b535ba ; * etc/NEWS: Update the js.el entry. 76b518c * etc/HELLO: Add Armenian and Mongolian greetings. b51f1ef Java Mode: Fontify identifiers in the presence of annotations. 36b9539 Avoid an infloop when we run out of memory 2006752 Avoid unnecessary failures of auto-saving after fatal error eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer 552694a Revert attempt to use 'noexcept' in typedef 6ad0d39 Update documentation of 'indirect-function' c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'. 303141a Update documentation for obsoleting 'syntax-begin-function' 4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries. e667bbb Document new features if Eshell 9c4e4e0 ; * etc/NEWS: Update EUDC entries. 1089dc9 Handle too long commands in Tramp 684eb58 * .gitattributes: *.cur and *.pif are binary files too. d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...) 09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value cca0f93 ; Account for spaces before the filename c71e1e8 Use short date for 'hg annotate', and output the author f50027b Spelling fix c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated. cc140bc Document user-level functions in project.el f8208b6 Document the user-level features of the Xref package b131fb8 * loading.texi: Add `define-type' entry for load-history db3c2a8 Improve doc strings and prompts in xref.el f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode. 90fd798 Fix coding system for Tramp on OS X. e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented. 9dfcbf0 Update 'load-history' docs 207e191 Fix (error ...) error 457738f Correctly analyze brace arguments in templated C++ function declarations. d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare. 2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable. 1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`. 8be046f Respect fontification region calculated by major mode. Fixes bug #22316. 4b37cba Improve documentation of Delete Selection mode a034dd3 Fix two project-find-file issues 30abf29 Clarify doc string of 'dired-current-directory' e990bb2 Use the face of preceding text for displaying the ellipsis 5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el eeb710a ; * lisp/startup.el: Sentences end with two spaces. 428b3de * admin/admin.el (set-version): Also handle the NEWS file. 648de81 ; Add NEWS entry for project.el 671862f apropos-library: Skip obvious duplicates; don't error on generics 51668a5 ; Grammar fix ed41d11 Add project-find-file and project-or-external-find-file 056da45 ; Improve commentary in 'setup_for_ellipsis' 269d008 ; Improve docstring for `inhibit-startup-echo-area-message' --- c7bef6a4f033fa6b22906de0be6da54958d5b3c3 diff --combined doc/emacs/dired.texi index 119a10ccc0,855e6531a6..92c1fd5a04 --- a/doc/emacs/dired.texi +++ b/doc/emacs/dired.texi @@@ -785,8 -785,8 +785,8 @@@ Search all the specified files for the (@code{dired-do-search}). This command is a variant of @code{tags-search}. The search stops at - the first match it finds; use @kbd{M-,} to resume the search and find - the next match. @xref{Tags Search}. + the first match it finds; use @kbd{M-x tags-loop-continue} to resume + the search and find the next match. @xref{Identifier Search}. @kindex Q @r{(Dired)} @findex dired-do-query-replace-regexp @@@ -797,8 -797,8 +797,8 @@@ replacing matches for @var{regexp} wit @var{to} (@code{dired-do-query-replace-regexp}). This command is a variant of @code{tags-query-replace}. If you exit the - query replace loop, you can use @kbd{M-,} to resume the scan and replace - more matches. @xref{Tags Search}. + query replace loop, you can use @kbd{M-x tags-loop-continue} to resume + the scan and replace more matches. @xref{Identifier Search}. @end table @node Shell Commands in Dired @@@ -1414,13 -1414,6 +1414,13 @@@ names into arguments for other Emacs co it added to the kill ring, so you can use it to display the list of currently marked files in the echo area. +@kindex W @r{(Dired)} +@findex browse-url-of-dired-file + If you have an HTML file in the file listing, it can be useful to +view that file with a browser. The @kbd{W} +(@code{browse-url-of-dired-file}) command will use the standard +configured browser to view that file. + @kindex ( @r{(Dired)} @findex dired-hide-details-mode @vindex dired-hide-details-hide-symlink-targets diff --combined etc/NEWS index 2c6f6fc8f0,85ec30ac03..699b169009 --- a/etc/NEWS +++ b/etc/NEWS @@@ -22,58 -22,6 +22,58 @@@ Temporary note When you add a new item, use the appropriate mark if you are sure it applies, otherwise leave it unmarked. + +* Installation Changes in Emacs 25.2 + +** 'configure' detects the kqueue file notification library on *BSD +and Mac OS X machines. + + +* Startup Changes in Emacs 25.2 + + +* Changes in Emacs 25.2 + +** It is possible to disable attempted recovery on fatal signals + +Two new variables allow to disable attempts to recover from stack +overflow and to avoid automatic auto-save when Emacs is delivered a +fatal signal. `attempt-stack-overflow-recovery', if set to `nil', +will disable attempts to recover from C stack overflows; Emacs will +then crash as with any other fatal signal. +`attempt-orderly-shutdown-on-fatal-signal', if set to `nil', will +disable attempts to auto-save the session and shut down in an orderly +fashion when Emacs receives a fatal signal; instead, Emacs will +terminate immediately. Both variables are non-`nil' by default. +These variables are for users who would like to avoid the small +probability of data corruption due to techniques Emacs uses to recover +in these situations. + + +* Editing Changes in Emacs 25.2 + + +* Changes in Specialized Modes and Packages in Emacs 25.2 + +** File Notifications + +*** The kqueue library is integrated for *BSD and Mac OS X machines. + + +* New Modes and Packages in Emacs 25.2 + + +* Incompatible Lisp Changes in Emacs 25.2 + + +* Lisp Changes in Emacs 25.2 + +** Autoload files can be generated without timestamps, +by setting `autoload-timestamps' to nil. + + +* Changes in Emacs 25.2 on Non-Free Operating Systems + * Installation Changes in Emacs 25.1 @@@ -148,6 -96,7 +148,7 @@@ so if you want to use it, you can alway Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png. The old Emacs logo icons are available as `emacs23.png' in the same location. + --- ** New make target `check-expensive' to run additional tests. This includes all tests which run via "make check", plus additional tests which take more time to perform. @@@ -217,11 -166,6 +218,11 @@@ the variable `dir-locals-file' for mor added via the new Network Security Manager (NSM) and controlled via the `network-security-level' variable. +--- +** International domain names (IDNA) are now encoded via the new +puny.el library, so that one can visit web sites like +"http://méxico.icom.museum". + ** If Emacs isn't built with TLS support, an external TLS-capable program is used instead. This program used to be run in --insecure mode by default, but has now changed to be secure instead, and will @@@ -231,12 -175,9 +232,12 @@@ controlled by the `tls-program' variabl +++ ** C-h l now also lists the commands that were run. -+++ -** x-select-enable-clipboard is renamed select-enable-clipboard -and x-select-enable-primary is renamed select-enable-primary. +** The new M-s M-w key binding uses eww to search the web for the +text in the region. + +** M-x suggests shorthands and ignores obsolete commands for completion. +** x-select-enable-clipboard is renamed select-enable-clipboard. +x-select-enable-primary and renamed select-enable-primary. Additionally they both now apply to all systems (OSX, GNUstep, Windows, you name it), with the proviso that on some systems (e.g. Windows) select-enable-primary is ineffective since the system doesn't @@@ -452,9 -393,6 +453,9 @@@ additionally need to add `getSelection `erc-network-hide-list' and `erc-channel-hide-list' will only hide the specified message types for the respective specified targets. +*** New variable `erc-default-port-tls' used to connect to TLS IRC +servers. + ** Midnight-mode --- @@@ -653,11 -591,6 +654,11 @@@ useful when, for example, one needs to whether to use variable-pitch fonts or not. The user can also customize the `shr-use-fonts' variable. ++++ +*** A new command `C' (`eww-toggle-colors') can be used to toggle +whether to use the HTML-specified colors or not. The user can also +customize the `shr-use-colors' variable. + +++ *** A new command `R' (`eww-readable') will try do identify the main textual parts of a web page and display only that, leaving menus and @@@ -791,7 -724,10 +792,10 @@@ If the output of ERT tests in batch mod log file, then it can be passed as an argument to the above function to produce a neat summary. + --- ** New js.el option `js-indent-first-init'. + It was renamed from `js-indent-first-initialiser', to avoid issues + with American vs British spelling. ** Info @@@ -1005,6 -941,7 +1009,7 @@@ New options `tildify-space-string', `ti `tildify-ignored-environments-alist' variables (as well as a few helper functions) obsolete. + +++ ** New package Xref replaces Etags's front-end and UI The new package Xref provides a generic framework and new commands to @@@ -1027,58 -964,81 +1032,81 @@@ As a result of this, the following comm `find-tag-other-window', `find-tag-other-frame', `find-tag-regexp', `tags-apropos', and `tags-loop-continue'. - The framework's API is still experimental and can change in major, - backward-incompatible ways. - + +++ *** New variables `find-tag-marker-ring-length' is now an obsolete alias for `xref-marker-ring-length'. `find-tag-marker-ring' is now an obsolete alias for a private variable. `xref-push-marker-stack' and - `xref-pop-marker-stack' should be used to mutate it instead. + `xref-pop-marker-stack' should be used instead to manipulate the stack + of searches for definitions. --- *** `xref-find-definitions' and `describe-function' now display information about mode local overrides (defined by cedet/mode-local.el `define-overloadable-function' `define-mode-local-overrides'). + The framework's Lisp API is still experimental and can change in major, + backward-incompatible ways. + + --- + ** New package Project + + The new package Project provides generic infrastructure for dealing + with projects. The main commands included in it are + `project-find-file' and `project-find-regexp'. + + The Lisp API of this package is still experimental. + ** EUDC EUDC's LDAP backend has been improved. + +++ *** EUDC supports LDAP-over-SSL URLs (ldaps://). + --- *** EUDC passes LDAP passwords through a pipe to the ldapsearch subprocess instead of on the command line. + --- *** EUDC handles LDAP wildcards automatically so the user shouldn't need to configure this manually anymore. + +++ *** The LDAP configuration section of EUDC's manual has been rewritten. There have also been customization changes. + +++ *** New custom variable `eudc-server-hotlist' to allow specifying multiple EUDC servers in init file. + +++ *** Custom variable `eudc-inline-query-format' defaults to completing on email and firstname instead of surname. + --- *** Custom variable `eudc-expansion-overwrites-query' defaults to nil to avoid interfering with the kill ring. + +++ *** Custom variable `eudc-inline-expansion-format' defaults to "Firstname Surname ". + +++ *** Custom variable `eudc-options-file' defaults to "~/.emacs.d/eudc-options". + --- *** New custom variable `ldap-ldapsearch-password-prompt-regexp' to allow overriding the regular expression that recognizes the ldapsearch command line's password prompt. + --- EUDC's BBDB backend now supports BBDB 3. + --- EUDC's PH backend (eudcb-ph.el) is obsolete. ** Eshell @@@ -1087,12 -1047,14 +1115,14 @@@ *** The new built-in command `clear' can scroll window contents out of sight. If provided with an optional non-nil argument, the scrollback contents will be cleared. + +++ *** New buffer syntax '#', which is equivalent to '#'. This shorthand makes interacting with buffers from eshell more convenient. Custom variable `eshell-buffer-shorthand', which has been broken for a while, has been removed. + +++ *** By default, eshell "visual" program buffers (created by `eshell-visual-commands' and similar custom vars) are no longer killed when their processes die. This fixes issues with short-lived commands @@@ -1103,6 -1065,7 +1133,7 @@@ make the new option `eshell-destroy-buf ** Browse-url + --- *** Support for the Conkeror web browser. --- @@@ -1138,10 -1101,6 +1169,10 @@@ compress many marked files into a singl compression command is determined from the new `dired-compress-files-alist' variable. ++++ +*** `W' is now bound to `browse-url-of-dired-file', and is useful for +viewing HTML files and the like. + ** Tabulated List Mode +++ @@@ -1159,11 -1118,13 +1190,13 @@@ few or no entries have changed --- *** gulp.el + --- *** landmark.el (moved to elpa.gnu.org) * New Modes and Packages in Emacs 25.1 + --- ** pinentry.el allows GnuPG passphrase to be prompted through the minibuffer instead of a graphical dialog, depending on whether the gpg command is called from Emacs (i.e., INSIDE_EMACS environment variable @@@ -1172,28 -1133,35 +1205,35 @@@ later) and Pinentry (0.9.5 or later) ** cl-generic.el provides CLOS-style multiple-dispatch generic functions. + --- ** scss-mode (a minor variant of css-mode) + --- ** let-alist is a new macro (and a package) that allows one to easily let-bind the values stored in an alist. + --- ** `tildify-mode' allows to automatically insert hard spaces as one types the text. Breaking line after a single-character words is forbidden by Czech and Polish typography (and may be discouraged in other languages), so `auto-tildify-mode' makes it easier to create a typographically-correct documents. + --- ** The `seq' library adds sequence manipulation functions and macros that complement basic functions provided by subr.el. All functions are prefixed with `seq-' and work on lists, strings and vectors. + --- ** The `map' library provides map-manipulation functions that work on alists, hash-table and arrays. All functions are prefixed with `map-'. + --- ** The `thunk' library provides functions and macros to control the evaluation of forms. + --- ** js-jsx-mode (a minor variant of js-mode) provides indentation support for JSX, an XML-like syntax extension to ECMAScript. @@@ -1206,6 -1174,7 +1246,7 @@@ arguments. The earlier behavior of sil last variable when there was an odd number of arguments has been eliminated. + +++ ** `syntax-begin-function' is declared obsolete. Removed font-lock-beginning-of-syntax-function and the SYNTAX-BEGIN slot in font-lock-defaults. @@@ -1217,12 -1186,11 +1258,11 @@@ file and still expect it to be run afte `package-enable-at-startup' to t after the call to `package-initialize'. + --- ** `:global' minor mode use `setq-default' rather than `setq'. This means that you can't use `make-local-variable' and expect them to "magically" become buffer-local. - ** `inhibit-point-motion-hooks' now defaults to t and is obsolete. - +++ ** `track-mouse' no longer freezes the shape of the mouse pointer. The `track-mouse' form no longer refrains from changing the shape of @@@ -1237,10 -1205,12 +1277,12 @@@ to the special value `dragging' in the has any effect. (This change was made in Emacs 24.4 but was not advertised at the time.) + +++ ** `indirect-function' does not signal `void-function' any more. This is mostly a bug-fix, since this change was missed back in 24.4 when symbol-function was changed not to signal `void-function' any more. + +++ *** As a consequence, the second arg of `indirect-function' is now obsolete. ** Comint, term, and compile do not set the EMACS env var any more. @@@ -1272,10 -1242,12 +1314,12 @@@ group ID instead of `t' any reference to a buffer position. The 6th member of the mouse position list returned for such events is now nil. + --- ** Menu items in keymaps do not support the "key shortcut cache" any more. These slots used to hold key-shortcut data, but have been obsolete since Emacs-21. + --- ** Emacs no longer downcases the first letter of a system diagnostic when signaling a file error. For example, it now reports "Permission denied" instead of "permission denied". The old behavior was problematic @@@ -1321,6 -1293,7 +1365,7 @@@ use [:multibyte:] instead ** The `diff' command uses the unified format now. To restore the old behavior, set `diff-switches' to `-c'. + --- ** `grep-template' and `grep-find-template' values don't include the --color argument anymore. It's added at the place holder position dynamically. Any third-party code that changes these templates should @@@ -1346,6 -1319,7 +1391,7 @@@ that happen, `unhandled-file-name-direc +++ *** New vector QPattern. + --- ** syntax-propertize is now automatically called on-demand during forward parsing functions like `forward-sexp'. @@@ -1366,10 -1340,14 +1412,14 @@@ Replaced by properties `cursor-intangib implemented by the new `cursor-intangible-mode' and `cursor-sensor-mode' minor modes. + ** `inhibit-point-motion-hooks' now defaults to t and is obsolete. + + +++ ** New process type `pipe', which can be used in combination with the `:stderr' keyword of make-process to handle standard error output of subprocess. + +++ ** New function `make-process' provides an alternative interface to `start-process'. It allows programs to set process parameters such as process filter, sentinel, etc., through keyword arguments (similar to @@@ -1398,13 -1376,17 +1448,17 @@@ buffers to allow certain parts of the t ** `read-buffer' takes a new `predicate' argument. + +++ ** Emacs Lisp now supports generators. + See the "Generators" section of the ELisp manual for the details. - ** New finalizer facility for running code when objects - become unreachable. + +++ + ** New finalizer facility for running code when objects become unreachable. + See the "Finalizer Type" subsection in the ELisp manual for the + details. - ** lexical closures can use (:documentation
) to build their docstring. - It should be placed right where the docstring would be, and is then + ** lexical closures can use (:documentation FORM) to build their docstring. + It should be placed right where the docstring would be, and FORM is then evaluated (and should return a string) when the closure is built. ** define-inline provides a new way to define inlinable functions. @@@ -1475,6 -1457,7 +1529,7 @@@ have side effects ** New macro `with-file-modes', for evaluating expressions with default file permissions set to temporary values (e.g., for creating private files). + +++ ** You can access the slots of structures using `cl-struct-slot-value'. ** Function `sort' can deal with vectors. @@@ -1487,6 -1470,7 +1542,7 @@@ name. The variable `system-name' is no +++ ** Function `write-region' no longer outputs "Wrote FILE" in batch mode. + --- ** If `pwd' is called with a prefix argument, insert the current default directory at point. @@@ -1587,11 -1571,16 +1643,16 @@@ a directory file name. It returns non- the name is a directory separator character (forward slash on GNU and Unix systems, forward- or backslash on MS-Windows and MS-DOS). + --- ** ASCII approximations to curved quotes are put in standard-display-table if the terminal cannot display curved quotes. + +++ ** Standard output and error streams now transliterate characters via standard-display-table, and encode output using locale-coding-system. + To force a specific encoding, bind `coding-system-for-write' to the + coding-system of your choice when invoking functions like `prin1' and + `message'. +++ ** New var `truncate-string-ellipsis' to choose how to indicate truncation. @@@ -1602,6 -1591,7 +1663,7 @@@ This is used by Google's Native Client ** Miscellaneous name change + --- For consistency with the usual Emacs spelling, the Lisp variable `hfy-optimisations' has been renamed to `hfy-optimizations'. The old name should still work, as an obsolescent alias. @@@ -1612,22 -1602,30 +1674,30 @@@ *** Emacs can now draw horizontal scroll bars on some platforms that provide toolkit scroll bars, namely Gtk+, Lucid, Motif and Windows. Horizontal scroll bars are turned off by default. + **** New function `horizontal-scroll-bars-available-p' telling whether horizontal scroll bars are available on the underlying system. + **** New mode `horizontal-scroll-bar-mode' to toggle horizontal scroll bars on all existing and future frames. + **** New function `toggle-horizontal-scroll-bar' to toggle horizontal scroll bars on the selected frame. + **** New frame parameters `horizontal-scroll-bars' and `scroll-bar-height' to set horizontal scroll bars and their height for individual frames and in `default-frame-alist'. + **** New functions `frame-scroll-bar-height' and `window-scroll-bar-height' return the height of horizontal scroll bars on a specific frame or window. + **** `set-window-scroll-bars' now accepts five parameters where the last two specify height and type of the window's horizontal scroll bar. + **** `window-scroll-bars' now returns type and sizes of horizontal scroll bars too. + **** New buffer-local variables `horizontal-scroll-bar' and `scroll-bar-height'. @@@ -1694,6 -1692,7 +1764,7 @@@ Those features have been deprecated in ** Etags + +++ *** etags no longer qualifies class members by default. By default, `etags' will not qualify class members for C-like @@@ -1709,11 -1708,13 +1780,13 @@@ using -Q might make some class members (`xref-find-definitions'); if so, you can use `C-u M-.' to specify the qualified names by hand. + +++ *** New language Ruby Names of modules, classes, methods, and functions are tagged. Overloaded operators are also tagged. + +++ *** Improved support for Lua Etags now tags functions even if the "function" keyword follows some @@@ -1737,6 -1738,7 +1810,7 @@@ of Windows starting with Windows 9X +++ ** Emacs running on MS-Windows now supports the daemon mode. + --- ** The byte counts in etags-generated TAGS files are now the same on MS-Windows as they are on other platforms. @@@ -1744,8 -1746,10 +1818,10 @@@ ** On OS X, configure creates a Cocoa ("Nextstep") build by default. Pass '--without-ns' to configure to create an X11 build, the old default. + --- ** OS X 10.5 or older is no longer supported. + --- ** OS X on PowerPC is no longer supported. --- diff --combined lisp/dired.el index 52386c9119,e023da27be..63124fce5e --- a/lisp/dired.el +++ b/lisp/dired.el @@@ -34,9 -34,6 +34,9 @@@ ;;; Code: +;; When bootstrapping dired-loaddefs has not been generated. +(require 'dired-loaddefs nil t) + (declare-function dired-buffer-more-recently-used-p "dired-x" (buffer1 buffer2)) @@@ -1538,7 -1535,6 +1538,7 @@@ Do so according to the former subdir al (define-key map "u" 'dired-unmark) (define-key map "v" 'dired-view-file) (define-key map "w" 'dired-copy-filename-as-kill) + (define-key map "W" 'browse-url-of-dired-file) (define-key map "x" 'dired-do-flagged-delete) (define-key map "y" 'dired-show-file-type) (define-key map "+" 'dired-create-directory) @@@ -2810,7 -2806,9 +2810,9 @@@ It runs the hook `dired-initial-positio (defun dired-current-directory (&optional localp) "Return the name of the subdirectory to which this line belongs. This returns a string with trailing slash, like `default-directory'. - Optional argument means return a file name relative to `default-directory'." + Optional argument means return a file name relative to `default-directory', + in which case the value could be an empty string if `default-directory' + is the directory where the file on this line resides." (let ((here (point)) (alist (or dired-subdir-alist ;; probably because called in a non-dired buffer @@@ -3904,6 -3902,561 +3906,6 @@@ Ask means pop up a menu for the user t (add-to-list 'desktop-buffer-mode-handlers '(dired-mode . dired-restore-desktop-buffer)) - -;;; Start of automatically extracted autoloads. - -;;;### (autoloads nil "dired-aux" "dired-aux.el" "7b7e39be8bcaf5f35b2735c3f5635f40") -;;; Generated autoloads from dired-aux.el - -(autoload 'dired-diff "dired-aux" "\ -Compare file at point with file FILE using `diff'. -If called interactively, prompt for FILE. If the file at point -has a backup file, use that as the default. If the file at point -is a backup file, use its original. If the mark is active -in Transient Mark mode, use the file at the mark as the default. -\(That's the mark set by \\[set-mark-command], not by Dired's -\\[dired-mark] command.) - -FILE is the first file given to `diff'. The file at point -is the second file given to `diff'. - -With prefix arg, prompt for second argument SWITCHES, which is -the string of command switches for the third argument of `diff'. - -\(fn FILE &optional SWITCHES)" t nil) - -(autoload 'dired-backup-diff "dired-aux" "\ -Diff this file with its backup file or vice versa. -Uses the latest backup, if there are several numerical backups. -If this file is a backup, diff it with its original. -The backup file is the first file given to `diff'. -With prefix arg, prompt for argument SWITCHES which is options for `diff'. - -\(fn &optional SWITCHES)" t nil) - -(autoload 'dired-compare-directories "dired-aux" "\ -Mark files with different file attributes in two dired buffers. -Compare file attributes of files in the current directory -with file attributes in directory DIR2 using PREDICATE on pairs of files -with the same name. Mark files for which PREDICATE returns non-nil. -Mark files with different names if PREDICATE is nil (or interactively -with empty input at the predicate prompt). - -PREDICATE is a Lisp expression that can refer to the following variables: - - size1, size2 - file size in bytes - mtime1, mtime2 - last modification time in seconds, as a float - fa1, fa2 - list of file attributes - returned by function `file-attributes' - - where 1 refers to attribute of file in the current dired buffer - and 2 to attribute of file in second dired buffer. - -Examples of PREDICATE: - - (> mtime1 mtime2) - mark newer files - (not (= size1 size2)) - mark files with different sizes - (not (string= (nth 8 fa1) (nth 8 fa2))) - mark files with different modes - (not (and (= (nth 2 fa1) (nth 2 fa2)) - mark files with different UID - (= (nth 3 fa1) (nth 3 fa2)))) and GID. - -\(fn DIR2 PREDICATE)" t nil) - -(autoload 'dired-do-chmod "dired-aux" "\ -Change the mode of the marked (or next ARG) files. -Symbolic modes like `g+w' are allowed. -Type M-n to pull the file attributes of the file at point -into the minibuffer. - -\(fn &optional ARG)" t nil) - -(autoload 'dired-do-chgrp "dired-aux" "\ -Change the group of the marked (or next ARG) files. -Type M-n to pull the file attributes of the file at point -into the minibuffer. - -\(fn &optional ARG)" t nil) - -(autoload 'dired-do-chown "dired-aux" "\ -Change the owner of the marked (or next ARG) files. -Type M-n to pull the file attributes of the file at point -into the minibuffer. - -\(fn &optional ARG)" t nil) - -(autoload 'dired-do-touch "dired-aux" "\ -Change the timestamp of the marked (or next ARG) files. -This calls touch. -Type M-n to pull the file attributes of the file at point -into the minibuffer. - -\(fn &optional ARG)" t nil) - -(autoload 'dired-do-print "dired-aux" "\ -Print the marked (or next ARG) files. -Uses the shell command coming from variables `lpr-command' and -`lpr-switches' as default. - -\(fn &optional ARG)" t nil) - -(autoload 'dired-clean-directory "dired-aux" "\ -Flag numerical backups for deletion. -Spares `dired-kept-versions' latest versions, and `kept-old-versions' oldest. -Positive prefix arg KEEP overrides `dired-kept-versions'; -Negative prefix arg KEEP overrides `kept-old-versions' with KEEP made positive. - -To clear the flags on these files, you can use \\[dired-flag-backup-files] -with a prefix argument. - -\(fn KEEP)" t nil) - -(autoload 'dired-do-async-shell-command "dired-aux" "\ -Run a shell command COMMAND on the marked files asynchronously. - -Like `dired-do-shell-command', but adds `&' at the end of COMMAND -to execute it asynchronously. - -When operating on multiple files, asynchronous commands -are executed in the background on each file in parallel. -In shell syntax this means separating the individual commands -with `&'. However, when COMMAND ends in `;' or `;&' then commands -are executed in the background on each file sequentially waiting -for each command to terminate before running the next command. -In shell syntax this means separating the individual commands with `;'. - -The output appears in the buffer `*Async Shell Command*'. - -\(fn COMMAND &optional ARG FILE-LIST)" t nil) - -(autoload 'dired-do-shell-command "dired-aux" "\ -Run a shell command COMMAND on the marked files. -If no files are marked or a numeric prefix arg is given, -the next ARG files are used. Just \\[universal-argument] means the current file. -The prompt mentions the file(s) or the marker, as appropriate. - -If there is a `*' in COMMAND, surrounded by whitespace, this runs -COMMAND just once with the entire file list substituted there. - -If there is no `*', but there is a `?' in COMMAND, surrounded by -whitespace, this runs COMMAND on each file individually with the -file name substituted for `?'. - -Otherwise, this runs COMMAND on each file individually with the -file name added at the end of COMMAND (separated by a space). - -`*' and `?' when not surrounded by whitespace have no special -significance for `dired-do-shell-command', and are passed through -normally to the shell, but you must confirm first. - -If you want to use `*' as a shell wildcard with whitespace around -it, write `*\"\"' in place of just `*'. This is equivalent to just -`*' in the shell, but avoids Dired's special handling. - -If COMMAND ends in `&', `;', or `;&', it is executed in the -background asynchronously, and the output appears in the buffer -`*Async Shell Command*'. When operating on multiple files and COMMAND -ends in `&', the shell command is executed on each file in parallel. -However, when COMMAND ends in `;' or `;&' then commands are executed -in the background on each file sequentially waiting for each command -to terminate before running the next command. You can also use -`dired-do-async-shell-command' that automatically adds `&'. - -Otherwise, COMMAND is executed synchronously, and the output -appears in the buffer `*Shell Command Output*'. - -This feature does not try to redisplay Dired buffers afterward, as -there's no telling what files COMMAND may have changed. -Type \\[dired-do-redisplay] to redisplay the marked files. - -When COMMAND runs, its working directory is the top-level directory -of the Dired buffer, so output files usually are created there -instead of in a subdir. - -In a noninteractive call (from Lisp code), you must specify -the list of file names explicitly with the FILE-LIST argument, which -can be produced by `dired-get-marked-files', for example. - -\(fn COMMAND &optional ARG FILE-LIST)" t nil) - -(autoload 'dired-run-shell-command "dired-aux" "\ - - -\(fn COMMAND)" nil nil) - -(autoload 'dired-do-kill-lines "dired-aux" "\ -Kill all marked lines (not the files). -With a prefix argument, kill that many lines starting with the current line. -\(A negative argument kills backward.) -If you use this command with a prefix argument to kill the line -for a file that is a directory, which you have inserted in the -Dired buffer as a subdirectory, then it deletes that subdirectory -from the buffer as well. -To kill an entire subdirectory (without killing its line in the -parent directory), go to its directory header line and use this -command with a prefix argument (the value does not matter). - -\(fn &optional ARG FMT)" t nil) - -(autoload 'dired-do-compress-to "dired-aux" "\ -Compress selected files and directories to an archive. -You are prompted for the archive name. -The archiving command is chosen based on the archive name extension and -`dired-compress-files-alist'. - -\(fn)" t nil) - -(autoload 'dired-compress-file "dired-aux" "\ -Compress or uncompress FILE. -Return the name of the compressed or uncompressed file. -Return nil if no change in files. - -\(fn FILE)" nil nil) - -(autoload 'dired-query "dired-aux" "\ -Format PROMPT with ARGS, query user, and store the result in SYM. -The return value is either nil or t. - -The user may type y or SPC to accept once; n or DEL to skip once; -! to accept this and subsequent queries; or q or ESC to decline -this and subsequent queries. - -If SYM is already bound to a non-nil value, this function may -return automatically without querying the user. If SYM is !, -return t; if SYM is q or ESC, return nil. - -\(fn SYM PROMPT &rest ARGS)" nil nil) - -(autoload 'dired-do-compress "dired-aux" "\ -Compress or uncompress marked (or next ARG) files. - -\(fn &optional ARG)" t nil) - -(autoload 'dired-do-byte-compile "dired-aux" "\ -Byte compile marked (or next ARG) Emacs Lisp files. - -\(fn &optional ARG)" t nil) - -(autoload 'dired-do-load "dired-aux" "\ -Load the marked (or next ARG) Emacs Lisp files. - -\(fn &optional ARG)" t nil) - -(autoload 'dired-do-redisplay "dired-aux" "\ -Redisplay all marked (or next ARG) files. -If on a subdir line, redisplay that subdirectory. In that case, -a prefix arg lets you edit the `ls' switches used for the new listing. - -Dired remembers switches specified with a prefix arg, so that reverting -the buffer will not reset them. However, using `dired-undo' to re-insert -or delete subdirectories can bypass this machinery. Hence, you sometimes -may have to reset some subdirectory switches after a `dired-undo'. -You can reset all subdirectory switches to the default using -\\\\[dired-reset-subdir-switches]. -See Info node `(emacs)Subdir switches' for more details. - -\(fn &optional ARG TEST-FOR-SUBDIR)" t nil) - -(autoload 'dired-add-file "dired-aux" "\ - - -\(fn FILENAME &optional MARKER-CHAR)" nil nil) - -(autoload 'dired-remove-file "dired-aux" "\ - - -\(fn FILE)" nil nil) - -(autoload 'dired-relist-file "dired-aux" "\ -Create or update the line for FILE in all Dired buffers it would belong in. - -\(fn FILE)" nil nil) - -(autoload 'dired-copy-file "dired-aux" "\ - - -\(fn FROM TO OK-FLAG)" nil nil) - -(autoload 'dired-rename-file "dired-aux" "\ - - -\(fn FILE NEWNAME OK-IF-ALREADY-EXISTS)" nil nil) - -(autoload 'dired-create-directory "dired-aux" "\ -Create a directory called DIRECTORY. -If DIRECTORY already exists, signal an error. - -\(fn DIRECTORY)" t nil) - -(autoload 'dired-do-copy "dired-aux" "\ -Copy all marked (or next ARG) files, or copy the current file. -When operating on just the current file, prompt for the new name. - -When operating on multiple or marked files, prompt for a target -directory, and make the new copies in that directory, with the -same names as the original files. The initial suggestion for the -target directory is the Dired buffer's current directory (or, if -`dired-dwim-target' is non-nil, the current directory of a -neighboring Dired window). - -If `dired-copy-preserve-time' is non-nil, this command preserves -the modification time of each old file in the copy, similar to -the \"-p\" option for the \"cp\" shell command. - -This command copies symbolic links by creating new ones, similar -to the \"-d\" option for the \"cp\" shell command. - -\(fn &optional ARG)" t nil) - -(autoload 'dired-do-symlink "dired-aux" "\ -Make symbolic links to current file or all marked (or next ARG) files. -When operating on just the current file, you specify the new name. -When operating on multiple or marked files, you specify a directory -and new symbolic links are made in that directory -with the same names that the files currently have. The default -suggested for the target directory depends on the value of -`dired-dwim-target', which see. - -For relative symlinks, use \\[dired-do-relsymlink]. - -\(fn &optional ARG)" t nil) - -(autoload 'dired-do-hardlink "dired-aux" "\ -Add names (hard links) current file or all marked (or next ARG) files. -When operating on just the current file, you specify the new name. -When operating on multiple or marked files, you specify a directory -and new hard links are made in that directory -with the same names that the files currently have. The default -suggested for the target directory depends on the value of -`dired-dwim-target', which see. - -\(fn &optional ARG)" t nil) - -(autoload 'dired-do-rename "dired-aux" "\ -Rename current file or all marked (or next ARG) files. -When renaming just the current file, you specify the new name. -When renaming multiple or marked files, you specify a directory. -This command also renames any buffers that are visiting the files. -The default suggested for the target directory depends on the value -of `dired-dwim-target', which see. - -\(fn &optional ARG)" t nil) - -(autoload 'dired-do-rename-regexp "dired-aux" "\ -Rename selected files whose names match REGEXP to NEWNAME. - -With non-zero prefix argument ARG, the command operates on the next ARG -files. Otherwise, it operates on all the marked files, or the current -file if none are marked. - -As each match is found, the user must type a character saying - what to do with it. For directions, type \\[help-command] at that time. -NEWNAME may contain \\=\\ or \\& as in `query-replace-regexp'. -REGEXP defaults to the last regexp used. - -With a zero prefix arg, renaming by regexp affects the absolute file name. -Normally, only the non-directory part of the file name is used and changed. - -\(fn REGEXP NEWNAME &optional ARG WHOLE-NAME)" t nil) - -(autoload 'dired-do-copy-regexp "dired-aux" "\ -Copy selected files whose names match REGEXP to NEWNAME. -See function `dired-do-rename-regexp' for more info. - -\(fn REGEXP NEWNAME &optional ARG WHOLE-NAME)" t nil) - -(autoload 'dired-do-hardlink-regexp "dired-aux" "\ -Hardlink selected files whose names match REGEXP to NEWNAME. -See function `dired-do-rename-regexp' for more info. - -\(fn REGEXP NEWNAME &optional ARG WHOLE-NAME)" t nil) - -(autoload 'dired-do-symlink-regexp "dired-aux" "\ -Symlink selected files whose names match REGEXP to NEWNAME. -See function `dired-do-rename-regexp' for more info. - -\(fn REGEXP NEWNAME &optional ARG WHOLE-NAME)" t nil) - -(autoload 'dired-upcase "dired-aux" "\ -Rename all marked (or next ARG) files to upper case. - -\(fn &optional ARG)" t nil) - -(autoload 'dired-downcase "dired-aux" "\ -Rename all marked (or next ARG) files to lower case. - -\(fn &optional ARG)" t nil) - -(autoload 'dired-maybe-insert-subdir "dired-aux" "\ -Insert this subdirectory into the same dired buffer. -If it is already present, just move to it (type \\[dired-do-redisplay] to refresh), - else inserts it at its natural place (as `ls -lR' would have done). -With a prefix arg, you may edit the ls switches used for this listing. - You can add `R' to the switches to expand the whole tree starting at - this subdirectory. -This function takes some pains to conform to `ls -lR' output. - -Dired remembers switches specified with a prefix arg, so that reverting -the buffer will not reset them. However, using `dired-undo' to re-insert -or delete subdirectories can bypass this machinery. Hence, you sometimes -may have to reset some subdirectory switches after a `dired-undo'. -You can reset all subdirectory switches to the default using -\\\\[dired-reset-subdir-switches]. -See Info node `(emacs)Subdir switches' for more details. - -\(fn DIRNAME &optional SWITCHES NO-ERROR-IF-NOT-DIR-P)" t nil) - -(autoload 'dired-insert-subdir "dired-aux" "\ -Insert this subdirectory into the same Dired buffer. -If it is already present, overwrite the previous entry; - otherwise, insert it at its natural place (as `ls -lR' would - have done). -With a prefix arg, you may edit the `ls' switches used for this listing. - You can add `R' to the switches to expand the whole tree starting at - this subdirectory. -This function takes some pains to conform to `ls -lR' output. - -\(fn DIRNAME &optional SWITCHES NO-ERROR-IF-NOT-DIR-P)" t nil) - -(autoload 'dired-prev-subdir "dired-aux" "\ -Go to previous subdirectory, regardless of level. -When called interactively and not on a subdir line, go to this subdir's line. - -\(fn ARG &optional NO-ERROR-IF-NOT-FOUND NO-SKIP)" t nil) - -(autoload 'dired-goto-subdir "dired-aux" "\ -Go to end of header line of DIR in this dired buffer. -Return value of point on success, otherwise return nil. -The next char is either \\n, or \\r if DIR is hidden. - -\(fn DIR)" t nil) - -(autoload 'dired-mark-subdir-files "dired-aux" "\ -Mark all files except `.' and `..' in current subdirectory. -If the Dired buffer shows multiple directories, this command -marks the files listed in the subdirectory that point is in. - -\(fn)" t nil) - -(autoload 'dired-kill-subdir "dired-aux" "\ -Remove all lines of current subdirectory. -Lower levels are unaffected. - -\(fn &optional REMEMBER-MARKS)" t nil) - -(autoload 'dired-tree-up "dired-aux" "\ -Go up ARG levels in the dired tree. - -\(fn ARG)" t nil) - -(autoload 'dired-tree-down "dired-aux" "\ -Go down in the dired tree. - -\(fn)" t nil) - -(autoload 'dired-hide-subdir "dired-aux" "\ -Hide or unhide the current subdirectory and move to next directory. -Optional prefix arg is a repeat factor. -Use \\[dired-hide-all] to (un)hide all directories. - -\(fn ARG)" t nil) - -(autoload 'dired-hide-all "dired-aux" "\ -Hide all subdirectories, leaving only their header lines. -If there is already something hidden, make everything visible again. -Use \\[dired-hide-subdir] to (un)hide a particular subdirectory. - -\(fn &optional IGNORED)" t nil) - -(autoload 'dired-isearch-filenames-setup "dired-aux" "\ -Set up isearch to search in Dired file names. -Intended to be added to `isearch-mode-hook'. - -\(fn)" nil nil) - -(autoload 'dired-isearch-filenames "dired-aux" "\ -Search for a string using Isearch only in file names in the Dired buffer. - -\(fn)" t nil) - -(autoload 'dired-isearch-filenames-regexp "dired-aux" "\ -Search for a regexp using Isearch only in file names in the Dired buffer. - -\(fn)" t nil) - -(autoload 'dired-do-isearch "dired-aux" "\ -Search for a string through all marked files using Isearch. - -\(fn)" t nil) - -(autoload 'dired-do-isearch-regexp "dired-aux" "\ -Search for a regexp through all marked files using Isearch. - -\(fn)" t nil) - -(autoload 'dired-do-search "dired-aux" "\ -Search through all marked files for a match for REGEXP. -Stops when a match is found. -To continue searching for next match, use command \\[tags-loop-continue]. - -\(fn REGEXP)" t nil) - -(autoload 'dired-do-query-replace-regexp "dired-aux" "\ -Do `query-replace-regexp' of FROM with TO, on all marked files. -Third arg DELIMITED (prefix arg) means replace only word-delimited matches. -If you exit (\\[keyboard-quit], RET or q), you can resume the query replace -with the command \\[tags-loop-continue]. - -\(fn FROM TO &optional DELIMITED)" t nil) - -(autoload 'dired-show-file-type "dired-aux" "\ -Print the type of FILE, according to the `file' command. -If you give a prefix to this command, and FILE is a symbolic -link, then the type of the file linked to by FILE is printed -instead. - -\(fn FILE &optional DEREF-SYMLINKS)" t nil) - -;;;*** - -;;;### (autoloads nil "dired-x" "dired-x.el" "26ec84bf71edaf13ce45aeab60b7f31f") -;;; Generated autoloads from dired-x.el - -(autoload 'dired-jump "dired-x" "\ -Jump to Dired buffer corresponding to current buffer. -If in a file, Dired the current directory and move to file's line. -If in Dired already, pop up a level and goto old directory's line. -In case the proper Dired file line cannot be found, refresh the dired -buffer and try again. -When OTHER-WINDOW is non-nil, jump to Dired buffer in other window. -Interactively with prefix argument, read FILE-NAME and -move to its line in dired. - -\(fn &optional OTHER-WINDOW FILE-NAME)" t nil) - -(autoload 'dired-jump-other-window "dired-x" "\ -Like \\[dired-jump] (`dired-jump') but in other window. - -\(fn &optional FILE-NAME)" t nil) - -(autoload 'dired-do-relsymlink "dired-x" "\ -Relative symlink all marked (or next ARG) files into a directory. -Otherwise make a relative symbolic link to the current file. -This creates relative symbolic links like - - foo -> ../bar/foo - -not absolute ones like - - foo -> /ugly/file/name/that/may/change/any/day/bar/foo - -For absolute symlinks, use \\[dired-do-symlink]. - -\(fn &optional ARG)" t nil) - -;;;*** - -;;; End of automatically extracted autoloads. - (provide 'dired) (run-hooks 'dired-load-hook) ; for your customizations diff --combined lisp/ffap.el index 6c7932b512,36727b3747..abf979f612 --- a/lisp/ffap.el +++ b/lisp/ffap.el @@@ -570,7 -570,7 +570,7 @@@ Looks at `ffap-ftp-default-user', retur (defvaralias 'ffap-newsgroup-heads 'thing-at-point-newsgroup-heads) (defalias 'ffap-newsgroup-p 'thing-at-point-newsgroup-p) -(defsubst ffap-url-p (string) +(defun ffap-url-p (string) "If STRING looks like an URL, return it (maybe improved), else nil." (when (and (stringp string) ffap-url-regexp) (let* ((case-fold-search t) @@@ -974,14 -974,14 +974,14 @@@ out of NAME. (push (cons "" (cdr (assoc (match-string 0) ; i.e. "(TeX-current-macro)" preferred-suffix-rules))) guess-rules)) - (setq kpsewhich-args (mapcar (lambda (rule) - (concat (car rule) name (cdr rule))) - guess-rules)) (with-temp-buffer (let ((process-environment (buffer-local-value 'process-environment curbuf)) (exec-path (buffer-local-value 'exec-path curbuf))) - (apply #'call-process "kpsewhich" nil t nil kpsewhich-args)) + (apply #'call-process "kpsewhich" nil t nil + (mapcar (lambda (rule) + (concat (car rule) name (cdr rule))) + guess-rules))) (when (< (point-min) (point-max)) (buffer-substring (goto-char (point-min)) (point-at-eol)))))))) diff --combined lisp/progmodes/cc-defs.el index c42fbe7e51,000995c5b5..2056f3907b --- a/lisp/progmodes/cc-defs.el +++ b/lisp/progmodes/cc-defs.el @@@ -206,7 -206,7 +206,7 @@@ This variant works around bugs in `eval (eval-and-compile (defmacro c--macroexpand-all (form &optional environment) ;; Macro to smooth out the renaming of `cl-macroexpand-all' in Emacs 24.3. - (if (eq c--mapcan-status 'cl-mapcan) + (if (fboundp 'macroexpand-all) `(macroexpand-all ,form ,environment) `(cl-macroexpand-all ,form ,environment))) @@@ -493,21 -493,19 +493,21 @@@ must not be within a `c-save-buffer-sta wouldn't be able to undo them. The return value is the value of the last form in BODY." - `(let* ((modified (buffer-modified-p)) (buffer-undo-list t) - (inhibit-read-only t) (inhibit-point-motion-hooks t) - before-change-functions after-change-functions - deactivate-mark - buffer-file-name buffer-file-truename ; Prevent primitives checking - ; for file modification - ,@varlist) - (unwind-protect - (progn ,@body) - (and (not modified) - (buffer-modified-p) - (set-buffer-modified-p nil))))) -(put 'c-save-buffer-state 'lisp-indent-function 1) + (declare (debug t) (indent 1)) + (if (fboundp 'with-silent-modifications) + `(with-silent-modifications (let* ,varlist ,@body)) + `(let* ((modified (buffer-modified-p)) (buffer-undo-list t) + (inhibit-read-only t) (inhibit-point-motion-hooks t) + before-change-functions after-change-functions + deactivate-mark + buffer-file-name buffer-file-truename ; Prevent primitives checking + ; for file modification + ,@varlist) + (unwind-protect + (progn ,@body) + (and (not modified) + (buffer-modified-p) + (set-buffer-modified-p nil)))))) (defmacro c-tentative-buffer-changes (&rest body) "Eval BODY and optionally restore the buffer contents to the state it @@@ -656,23 -654,35 +656,35 @@@ right side of it. ;; Wrappers for common scan-lists cases, mainly because it's almost ;; impossible to get a feel for how that function works. - (defmacro c-go-list-forward () - "Move backward across one balanced group of parentheses. - - Return POINT when we succeed, NIL when we fail. In the latter case, leave - point unmoved." - `(c-safe (let ((endpos (scan-lists (point) 1 0))) - (goto-char endpos) - endpos))) - - (defmacro c-go-list-backward () - "Move backward across one balanced group of parentheses. - - Return POINT when we succeed, NIL when we fail. In the latter case, leave - point unmoved." - `(c-safe (let ((endpos (scan-lists (point) -1 0))) - (goto-char endpos) - endpos))) + (defmacro c-go-list-forward (&optional pos limit) + "Move forward across one balanced group of parentheses starting at POS or + point. Return POINT when we succeed, NIL when we fail. In the latter case, + leave point unmoved. + + A LIMIT for the search may be given. The start position is assumed to be + before it." + (let ((res `(c-safe (goto-char (scan-lists ,(or pos `(point)) 1 0)) (point)))) + (if limit + `(save-restriction + (if ,limit + (narrow-to-region (point-min) ,limit)) + ,res) + res))) + + (defmacro c-go-list-backward (&optional pos limit) + "Move backward across one balanced group of parentheses starting at POS or + point. Return POINT when we succeed, NIL when we fail. In the latter case, + leave point unmoved. + + A LIMIT for the search may be given. The start position is assumed to be + after it." + (let ((res `(c-safe (goto-char (scan-lists ,(or pos `(point)) -1 0)) (point)))) + (if limit + `(save-restriction + (if ,limit + (narrow-to-region ,limit (point-max))) + ,res) + res))) (defmacro c-up-list-forward (&optional pos limit) "Return the first position after the list sexp containing POS, diff --combined src/lisp.h index 90a0c1272c,f33a8f2494..02b8078a9f --- a/src/lisp.h +++ b/src/lisp.h @@@ -3927,7 -3927,7 +3927,7 @@@ extern bool let_shadows_global_binding_ #ifdef HAVE_MODULES /* Defined in alloc.c. */ - extern Lisp_Object make_user_ptr (void (*finalizer) (void*), void *p); + extern Lisp_Object make_user_ptr (void (*finalizer) (void *), void *p); /* Defined in emacs-module.c. */ extern void module_init (void); @@@ -4313,23 -4313,17 +4313,23 @@@ extern void init_font (void) extern void syms_of_fontset (void); #endif +/* Defined in inotify.c */ +#ifdef HAVE_INOTIFY +extern void syms_of_inotify (void); +#endif + +/* Defined in kqueue.c */ +#ifdef HAVE_KQUEUE +extern void globals_of_kqueue (void); +extern void syms_of_kqueue (void); +#endif + /* Defined in gfilenotify.c */ #ifdef HAVE_GFILENOTIFY extern void globals_of_gfilenotify (void); extern void syms_of_gfilenotify (void); #endif -/* Defined in inotify.c */ -#ifdef HAVE_INOTIFY -extern void syms_of_inotify (void); -#endif - #ifdef HAVE_W32NOTIFY /* Defined on w32notify.c. */ extern void syms_of_w32notify (void); diff --combined test/lisp/net/tramp-tests.el index f072584769,a29e42e734..305ca9d677 --- a/test/lisp/net/tramp-tests.el +++ b/test/lisp/net/tramp-tests.el @@@ -44,6 -44,7 +44,7 @@@ (require 'vc-git) (require 'vc-hg) + (autoload 'dired-uncache "dired") (declare-function tramp-find-executable "tramp-sh") (declare-function tramp-get-remote-path "tramp-sh") (declare-function tramp-get-remote-stat "tramp-sh") @@@ -1394,6 -1395,7 +1395,6 @@@ This tests also `make-symbolic-link', ` (ert-deftest tramp-test26-process-file () "Check `process-file'." - :tags '(:expensive-test) (skip-unless (tramp--test-enabled)) (skip-unless (not @@@ -1440,6 -1442,7 +1441,6 @@@ (ert-deftest tramp-test27-start-file-process () "Check `start-file-process'." - :tags '(:expensive-test) (skip-unless (tramp--test-enabled)) (skip-unless (not @@@ -1509,6 -1512,7 +1510,6 @@@ (ert-deftest tramp-test28-shell-command () "Check `shell-command'." - :tags '(:expensive-test) (skip-unless (tramp--test-enabled)) (skip-unless (not @@@ -1596,6 -1600,7 +1597,6 @@@ (ert-deftest tramp-test29-vc-registered () "Check `vc-registered'." - :tags '(:expensive-test) (skip-unless (tramp--test-enabled)) (skip-unless (eq @@@ -1654,6 -1659,9 +1655,9 @@@ (vc-register nil (list (car vc-handled-backends) (list (file-name-nondirectory tmp-name2)))))) + ;; vc-git uses an own process sentinel, Tramp's sentinel + ;; for flushing the cache isn't used. + (dired-uncache (concat (file-remote-p default-directory) "/")) (should (vc-registered (file-name-nondirectory tmp-name2))))) ;; Cleanup. @@@ -1777,14 -1785,6 +1781,6 @@@ Several special characters do not work (file-truename tramp-test-temporary-file-directory) nil (string-match "^HP-UX" (tramp-get-connection-property v "uname" "")))) - (defun tramp--test-darwin-p () - "Check, whether the remote host runs Mac OS X. - Several special characters do not work properly there." - ;; We must refill the cache. `file-truename' does it. - (with-parsed-tramp-file-name - (file-truename tramp-test-temporary-file-directory) nil - (string-match "^Darwin" (tramp-get-connection-property v "uname" "")))) - (defun tramp--test-check-files (&rest files) "Run a simple but comprehensive test over every file in FILES." ;; We must use `file-truename' for the temporary directory, because @@@ -1971,6 -1971,7 +1967,6 @@@ (ert-deftest tramp-test31-special-characters-with-stat () "Check special characters in file names. Use the `stat' command." - :tags '(:expensive-test) (skip-unless (tramp--test-enabled)) (skip-unless (eq @@@ -1989,6 -1990,7 +1985,6 @@@ (ert-deftest tramp-test31-special-characters-with-perl () "Check special characters in file names. Use the `perl' command." - :tags '(:expensive-test) (skip-unless (tramp--test-enabled)) (skip-unless (eq @@@ -2010,6 -2012,7 +2006,6 @@@ (ert-deftest tramp-test31-special-characters-with-ls () "Check special characters in file names. Use the `ls' command." - :tags '(:expensive-test) (skip-unless (tramp--test-enabled)) (skip-unless (eq @@@ -2030,16 -2033,15 +2026,15 @@@ (defun tramp--test-utf8 () "Perform the test in `tramp-test32-utf8*'." - (tramp--instrument-test-case 10 (let ((coding-system-for-read 'utf-8) (coding-system-for-write 'utf-8) (file-name-coding-system 'utf-8)) (tramp--test-check-files (unless (tramp--test-hpux-p) "Γυρίστε το Γαλαξία με Ώτο Στοπ") - (unless (or (tramp--test-hpux-p) (tramp--test-darwin-p)) + (unless (tramp--test-hpux-p) "أصبح بوسعك الآن تنزيل نسخة كاملة من موسوعة ويكيبيديا العربية لتصفحها بلا اتصال بالإنترنت") "银河系漫游指南系列" - "Автостопом по гала́ктике")))) + "Автостопом по гала́ктике"))) (ert-deftest tramp-test32-utf8 () "Check UTF8 encoding in file names and file contents." @@@ -2050,6 -2052,7 +2045,6 @@@ (ert-deftest tramp-test32-utf8-with-stat () "Check UTF8 encoding in file names and file contents. Use the `stat' command." - :tags '(:expensive-test) (skip-unless (tramp--test-enabled)) (skip-unless (eq @@@ -2068,6 -2071,7 +2063,6 @@@ (ert-deftest tramp-test32-utf8-with-perl () "Check UTF8 encoding in file names and file contents. Use the `perl' command." - :tags '(:expensive-test) (skip-unless (tramp--test-enabled)) (skip-unless (eq @@@ -2089,6 -2093,7 +2084,6 @@@ (ert-deftest tramp-test32-utf8-with-ls () "Check UTF8 encoding in file names and file contents. Use the `ls' command." - :tags '(:expensive-test) (skip-unless (tramp--test-enabled)) (skip-unless (eq @@@ -2114,6 -2119,7 +2109,6 @@@ Such requests could arrive from timers process sentinels. They shall not disturb each other." ;; Mark as failed until bug has been fixed. :expected-result :failed - :tags '(:expensive-test) (skip-unless (tramp--test-enabled)) (skip-unless (eq @@@ -2225,6 -2231,7 +2220,6 @@@ Since it unloads Tramp, it shall be the last test to run." ;; Mark as failed until all symbols are unbound. :expected-result (if (featurep 'tramp) :failed :passed) - :tags '(:expensive-test) (when (featurep 'tramp) (unload-feature 'tramp 'force) ;; No Tramp feature must be left. diff --combined test/manual/indent/shell.sh index b0f69bd972,dc184ea0d7..dc184ea0d7 --- a/test/manual/indent/shell.sh +++ b/test/manual/indent/shell.sh @@@ -3,6 -3,9 +3,9 @@@ setlock -n /tmp/getmail.lock && echo getmail isn\'t running + toto=$(grep hello foo | + wc) + # adsgsdg if foo; then