aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* * etc/NEWS.25: Copy from emacs-25 etc/NEWS.Paul Eggert2017-09-121-22/+17
|
* Less chatter for ’make info/dir’Paul Eggert2017-09-121-2/+1
| | | | | | * Makefile.in (${srcdir}/info/dir): Tweak shell command so that an ordinary make says just "GEN info/dir" rather than also having a seemingly-unrelated mv line.
* Tweak Gnus doc re gnus-copy-filePaul Eggert2017-09-121-1/+3
| | | | | | | * doc/misc/gnus.texi (Saving Articles): Document behavior with directory name targets (Bug#27986). Problem reported by Katsumi Yamaoka in: http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00216.html
* Update uses of if-let and when-letMark Oteiza2017-09-1213-57/+57
| | | | | | | | | | | | | | | | | | | | | | | | | * lisp/dom.el (dom-previous-sibling): * lisp/emacs-lisp/package.el (package--with-work-buffer): (package--sort-deps-in-alist, package--sort-by-dependence): (package-install-from-archive, package-install): (package-menu-execute, package-menu--populate-new-package-list): * lisp/filenotify.el (file-notify--rm-descriptor): (file-notify--event-watched-file, file-notify--event-file-name): (file-notify--event-file1-name, file-notify-rm-watch): (file-notify-valid-p): * lisp/gnus/message.el (message-toggle-image-thumbnails): * lisp/gnus/nnimap.el (nnimap-request-move-article): * lisp/ibuf-ext.el (ibuffer-repair-saved-filters): * lisp/mpc.el (mpc-format): * lisp/net/eww.el (eww-tag-meta, eww-process-text-input): (eww-save-history): * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1): * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook): * lisp/svg.el (svg-remove): * lisp/textmodes/css-mode.el (css--named-color): (css--colon-inside-funcall): * lisp/textmodes/sgml-mode.el (html-current-buffer-classes): (html-current-buffer-ids): Use if-let* and when-let* instead.
* Implement and-let*Mark Oteiza2017-09-123-190/+238
| | | | | | | | | | | | | | | | | | | | This also includes changes to if-let and when-let. The single tuple special case is ambiguous, and binding a symbol to nil is not as useful as binding it to its value outside the lexical scope of the binding. (Bug#28254) * etc/NEWS: Mention. * lisp/emacs-lisp/subr-x.el (internal--listify): (internal--build-binding-value-form): Extend to account for solitary symbols and (EXPR) items in binding varlist. (if-let*, when-let*): Nix single tuple case and incumbent bind-symbol-to-nil behavior. (and-let*): New macro. (if-let, when-let): Mark obsolete. Redefine in terms of if-let*, so they implicitly gain the new features without breaking existing code. * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of single-tuple special case, lack of binding solitary symbols to nil, and the introduction of uninterned symbols for (EXPR) bindings. Add SRFI-2 test suite adapted to Elisp.
* Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacsEli Zaretskii2017-09-121-1/+1
|\
| * Don't match C++ template delims starting within a token. FIxes bug #28418.Alan Mackenzie2017-09-121-1/+1
| | | | | | | | | | | | * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an attempted match from the start of a token (in particular, "<<"), move to the next token rather than the nex character before searching for the next "<".
* | Fix minor typos in the Emacs manualEli Zaretskii2017-09-122-2/+2
|/ | | | | * doc/emacs/text.texi (Org Organizer): * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
* Merge Emacs 25.3 fixesPaul Eggert2017-09-124-0/+57
| | | | | | | | | | | The security patches released for Emacs 25.3 were less drastic than what we had immediately put into master. Adjust master to match 25.3 (Bug#28350). * lisp/textmodes/enriched.el (enriched-translations): Re-enable FUNCTION and display translations that are safe. (enriched-handle-display-prop): Bring back. (enriched-decode-display-prop): Bring back, but disable the unsafe part.
* Move gensym to core ElispMark Oteiza2017-09-1212-32/+45
| | | | | | | | | | | | | | | | | | | | | * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right after make-symbol. * etc/NEWS: Mention. * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to gensym-counter. (cl-gensym): Alias to gensym. * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases. * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper): * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): (ert--expand-should-1, ert--expand-should): (ert--should-error-handle-error): * lisp/emacs-lisp/generator.el (cps--gensym): * lisp/emacs-lisp/gv.el (setf): * lisp/emacs-lisp/inline.el (inline--do-letlisteval): * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist): (pcase--funcall, pcase--u1): Use gensym. * lisp/subr.el (gensym-counter): New variable. (gensym): New function, assimilated from cl-lib.
* Fix cl-gentempMark Oteiza2017-09-121-4/+5
| | | | | * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable. (cl-gentemp): Use it. Change prefix to "T".
* gnus-score-file-name: Do not append empty suffix.Sam Steingold2017-09-121-2/+2
|
* Extend tramp-tests according to bug#27986Michael Albinus2017-09-121-17/+78
| | | | | | | | * test/lisp/net/tramp-tests.el (tramp-test11-copy-file) (tramp-test12-rename-file, tramp-test15-copy-directory) (tramp-test21-file-links): Extend tests. (tramp-test13-make-directory, tramp-test14-delete-directory): Specifiy error symbol in `should-error'.
* Add cl-print method for hash tablesMark Oteiza2017-09-111-0/+10
| | | | * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
* Add docstrings to cl-print entry pointsMark Oteiza2017-09-111-1/+8
| | | | | * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring. (cl-prin1, cl-prin1-to-string): Add docstrings.
* ; Fix previous commitMark Oteiza2017-09-111-1/+1
| | | | | The printer otherwise includes the 0x prefix. * lisp/emacs-lisp/cl-print.el: Add 0x to format.
* Improve reproducibility of generated leim-list.elGlenn Morris2017-09-111-1/+1
| | | | | * lisp/international/quail.el (quail-update-leim-list-file): Sort the quail directory listing, for more stable output.
* ; * lisp/files.el (basic-save-buffer-2): Fix typo.Philipp Stephani2017-09-111-1/+1
|
* Include sxhash of object with printed bytecodeMark Oteiza2017-09-111-1/+1
| | | | | | | | This printing, while succint, is rather opaque. At least give an immediate clue of whether different byte code printouts are for the same or different byte code objects. * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to printed token "#<bytecode>".
* Update documentation of 'max-lisp-eval-depth'Eli Zaretskii2017-09-111-1/+1
| | | | | * doc/lispref/eval.texi (Eval): Update the documented default value of 'max-lisp-eval-depth'.
* Another place to produce debugging output in etagsEli Zaretskii2017-09-111-0/+3
| | | | | * lib-src/etags.c (Ruby_functions): One more place to print debugging output under --debug.
* Improve documentation of etags-related featuresEli Zaretskii2017-09-111-12/+19
| | | | | | * doc/emacs/maintaining.texi (Looking Up Identifiers): Document 'xref-prompt-for-identifier'. (Bug#28403) (Etags Regexps): Document \D back references in etags regexps.
* Fix macOS compatibility versions for vibrant dark theme (bug#28415)Alan Third2017-09-111-9/+9
| | | | | * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs): Change macOS compatibility from 10.9 to 10.10.
* Further optimization in Tramp's file name decompositionMichael Albinus2017-09-114-205/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/net/tramp.el (tramp-syntax): Recompute all file name components. Call `custom-set-variables' after loading. (tramp-build-prefix-format, tramp-build-prefix-regexp) (tramp-build-method-regexp) (tramp-build-postfix-method-format) (tramp-build-postfix-method-regexp) (tramp-build-prefix-ipv6-format) (tramp-build-prefix-ipv6-regexp) (tramp-build-postfix-ipv6-format) (tramp-build-postfix-ipv6-regexp) (tramp-build-postfix-host-format) (tramp-build-postfix-host-regexp) (tramp-build-file-name-regexp) (tramp-build-completion-file-name-regexp): New defuns. (tramp-prefix-format, tramp-prefix-regexp) (tramp-method-regexp, tramp-postfix-method-format) (tramp-postfix-method-regexp, tramp-prefix-ipv6-format) (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format) (tramp-postfix-ipv6-regexp, tramp-postfix-host-format) (tramp-postfix-host-regexp) (tramp-remote-file-name-spec-regexp) (tramp-file-name-structure, tramp-file-name-regexp) (tramp-completion-file-name-regexp): Convert defuns into defvars. (tramp-prefix-regexp-alist) (tramp-postfix-method-regexp-alist) (tramp-prefix-ipv6-regexp-alist) (tramp-postfix-ipv6-regexp-alist) (tramp-postfix-host-regexp-alist) (tramp-remote-file-name-spec-regexp-alist): Remove. (tramp-build-remote-file-name-spec-regexp) (tramp-build-file-name-structure): Simplify. (tramp-completion-file-name-regexp-alist): New defconst. (tramp-tramp-file-p, tramp-dissect-file-name) (tramp-make-tramp-file-name) (tramp-completion-make-tramp-file-name) (tramp-rfn-eshadow-update-overlay-regexp) (tramp-register-file-name-handlers) (tramp-completion-handle-file-name-all-completions) (tramp-completion-dissect-file-name, tramp-clear-passwd): * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler): * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered) (tramp-compute-multi-hops): Use variables but functions for file name components. * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion): Use variables but functions for file name components.
* Port tramp-tests to new copy-directory behaviorPaul Eggert2017-09-101-2/+3
| | | | | | * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory): Use directory name as arg for copy-directory when we want the special behavior.
* Adjust thumbs to new rename-file behaviorPaul Eggert2017-09-102-12/+5
| | | | | | | | * etc/NEWS: Mention this. * lisp/thumbs.el (thumbs-rename-images): Treat the destination as special only if it is a directory name. When there is a marked list, turn the destination into a directory name if it is not already.
* Adjust ob-tangle to new copy-file behaviorPaul Eggert2017-09-101-0/+1
| | | | | * lisp/org/ob-tangle.el (org-babel-tangle-publish): Port to new copy-file behavior.
* Make gnus-copy-file act like copy-file etc.Paul Eggert2017-09-102-5/+2
| | | | | | * etc/NEWS: Mention this. * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination as special only if it is a directory name.
* Make write-file act like copy-file etc.Paul Eggert2017-09-102-4/+5
| | | | | | | | Change write-file to be consistent with the new behavior of copy-file, etc. * etc/NEWS: Mention this. * lisp/files.el (write-file): Treat the destination as special only if it is a directory name.
* Make copy-directory act like copy-file etc.Paul Eggert2017-09-104-20/+19
| | | | | | | | | | Do the special dance with the destination only if it is a directory name, for consistency with copy-file etc. (Bug#27986). * doc/emacs/files.texi (Copying and Naming): * doc/lispref/files.texi (Create/Delete Dirs): * etc/NEWS: Document this. * lisp/files.el (copy-directory): Treat NEWNAME as special only if it is a directory name.
* Fix some make-directory bugsPaul Eggert2017-09-102-11/+41
| | | | | | | | * lisp/files.el (files--ensure-directory): New function. (make-directory): Use it to avoid bugs when (make-directory FOO t) is invoked on a non-directory, or on a directory hierarchy that is being built by some other process while Emacs is running. * test/lisp/files-tests.el (files-tests--make-directory): New test.
* Fix race with rename-file etc. with dir NEWNAMEPaul Eggert2017-09-105-41/+58
| | | | | | | | | | | | | | | | | | | | This changes the behavior of rename-file etc. slightly. The old behavior mostly disagreed with the documentation, and had a race condition bug that could allow attackers to modify victims' write-protected directories (Bug#27986). * doc/lispref/files.texi (Changing Files): Document that in rename-file etc., NEWFILE is special if it is a directory name. * etc/NEWS: Document the change in behavior. * src/fileio.c (directory_like): Remove. All uses removed. (expand_cp_target): Test only whether NEWNAME is a directory name, not whether it is currently a directory. This avoids a race. (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link): Document behavior if NEWNAME is a directory name. (Frename_file): Simplify now that the destdir behavior occurs only when NEWNAME is a directory name. * test/lisp/net/tramp-tests.el (tramp-test11-copy-file) (tramp-test12-rename-file, tramp--test-check-files): Adjust tests to match new behavior.
* Extend --debug printouts in etagsEli Zaretskii2017-09-101-5/+18
| | | | | * lib-src/etags.c (regex_tag_multiline, readline): Under "--debug", print tags found via regexps.
* Add --debug option to etagsEli Zaretskii2017-09-101-0/+6
| | | | | * lib-src/etags.c (make_tag): Print found tags under --debug. (longopts): Add --debug.
* Spelling fixesPaul Eggert2017-09-1010-12/+12
| | | | | | * lisp/progmodes/cc-langs.el: (c-ambiguous-overloadable-or-identifier-prefixes): Rename from c-ambiguous-overloadable-or-identifier-prefices. Caller changed.
* ; Add to last commitMark Oteiza2017-09-101-0/+1
| | | | | * lisp/xdg.el (xdg-desktop-entry-regexp): Add a commented capture group for future reference.
* ; * configure.ac: Fix last change.Eli Zaretskii2017-09-101-1/+1
|
* Merge from gnulibPaul Eggert2017-09-108-31/+60
| | | | | | | | | | | | | This incorporates: 2017-09-08 stddef: Avoid conflict with system-defined max_align_t 2017-08-24 warnings: fix compilation with old autoconf 2017-08-23 glob: merge from glibc with Zanella glob changes 2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25 * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h: * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4: * m4/warnings.m4: Copy from Gnulib. * lib/gnulib.mk.in: Regenerate.
* Implement renameat_noreplace on recent CygwinKen Brown2017-09-101-0/+6
| | | | | | * src/sysdep.c [CYGWIN]: Include cygwin/fs.h. (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2. (Bug#27986)
* Avoid warnings about file names in autoloads on MS-WindowsEli Zaretskii2017-09-101-1/+3
| | | | | | | * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to avoid warnings from find-file-noselect when making autoloads. For the details, see http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00049.html.
* Avoid looking at localized stringsMark Oteiza2017-09-093-1/+19
| | | | | | | * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch localized strings. * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure parsing l10n strings doesn't error but is essentially a no-op.
* * etc/NEWS.25: Document 25.3 changes.Paul Eggert2017-09-091-0/+31
|
* Remove unsafe enriched mode translationsLars Ingebrigtsen2017-09-092-36/+0
| | | | | | | | * lisp/gnus/mm-view.el (mm-inline-text): Do not worry about enriched or richtext type. * lisp/textmodes/enriched.el (enriched-translations): Remove translations for FUNCTION, display (Bug#28350). (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
* Be more consistent about "directory name" in manualPaul Eggert2017-09-0927-98/+105
| | | | | This clarifies the documentation, partly in response to the discussion in Bug#27986.
* Remove more compilation warnings in MinGW64 buildEli Zaretskii2017-09-093-0/+11
| | | | | | | | * src/w32.c (faccessat, map_w32_filename): * src/w32fns.c (w32_wnd_proc): * src/w32term.c (w32_horizontal_scroll_bar_handle_click) (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler warnings with GCC 7 and later.
* Improve --enable-gcc-warnings for MinGW64Paul Eggert2017-09-096-9/+26
| | | | | | | | | | | | | | | | This partially reverts my 2016-05-30 patch. Apparently MinGW64 still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26) does not. Also, pacify tparam.c, which isn’t used on Fedora. * lib-src/etags.c (process_file_name, TeX_commands): * src/buffer.c (fix_overlays_before): * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned) (cons_to_signed): * src/editfns.c (Ftranslate_region_internal): Prefer UNINIT to some stray value, as this simplifies code-reading later. * src/eval.c (CACHEABLE): New macro. (internal_lisp_condition_case): Use it. * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
* Fix font-lock in Compilation modeEli Zaretskii2017-09-091-0/+10
| | | | | * lisp/progmodes/compile.el (compilation-face): Restore function lost during recent changes. (Bug#28349)
* Add function to read all entries in a groupMark Oteiza2017-09-094-29/+51
| | | | | | | | | | | | Use that to extend xdg-desktop-read-file. Also fix a bug where all entries in all groups were read and returned by xdg-desktop-read-file. * lisp/xdg.el (xdg-desktop-read-group): New function. (xdg-desktop-read-file): Use it. * test/data/xdg/malformed.desktop: New file. * test/data/xdg/test.desktop: Add another section. * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key in another group. Test reading a prescribed group. Test detecting a malformed key=value.
* Reduce Tramp's memory usageGemini Lasswell2017-09-091-45/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | Construct Tramp syntax strings and regular expressions once instead of every time they are used, and store them in alists keyed by Tramp syntax. * tramp.el (tramp-build-remote-file-name-spec-regexp) (tramp-build-file-name-structure): New functions. (tramp-prefix-format-alist, tramp-prefix-regexp-alist) (tramp-method-regexp-alist) (tramp-postfix-method-format-alist) (tramp-postfix-method-regexp-alist) (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist) (tramp-postfix-ipv6-format-alist) (tramp-postfix-ipv6-regexp-alist) (tramp-postfix-host-format-alist) (tramp-postfix-host-regexp-alist) (tramp-remote-file-name-spec-regexp-alist) (tramp-file-name-structure-alist): New constants. (tramp-lookup-syntax): New function. (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp) (tramp-postfix-method-format, tramp-postfix-method-regexp) (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp) (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp) (tramp-postfix-host-format, tramp-postfix-host-regexp) (tramp-remote-file-name-spec-regexp, tramp-file-name-structure): Use it.
* Fix compilation warnings in MinGW64 build using GCC 7Eli Zaretskii2017-09-0911-18/+19
| | | | | | | | | | | | | | | | | | | | | | | Reported by Richard Copley <rcopley@gmail.com>. * src/w32heap.c (init_heap): Declare enable_lfh only for mingw.org's MinGW build. * src/w32console.c (w32con_write_glyphs): * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some mismatches of data type vs format spec. * src/w32fns.c (compute_tip_xy): * src/w32proc.c (stop_timer_thread): * src/w32notify.c (remove_watch): * src/eval.c (internal_lisp_condition_case): * src/editfns.c (Ftranslate_region_internal): * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned) (cons_to_signed): * src/buffer.c (fix_overlays_before): Initialize variables to avoid compiler warnings. * lib-src/etags.c (TeX_commands, process_file_name): Initialize variables to avoid compilation warnings.