1. 03 Apr, 2019 12 commits
    • Michael Albinus's avatar
      Work on asynchronous processes for tramp-adb.el · 8147d3c2
      Michael Albinus authored
      * lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
      Simplify.  Remove echoed first line.
      (tramp-adb-send-command): Add NEVEROPEN and NOOUTPUT.
      * lisp/net/tramp-sh.el (tramp-process-sentinel): Remove.
      (tramp-sh-handle-make-process): Simplify.
      * lisp/net/tramp.el (tramp-process-sentinel): New defun, taken from
      tramp-sh.el.  Delete trailing shell prompt.
      * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process)
      (tramp-test30-make-process): Run also for tramp-adb.
      (tramp-test32-shell-command): Remove tramp-adb restrictions.
      (tramp-test34-explicit-shell-file-name): Rework.  Remove :unstable tag.
    • Glenn Morris's avatar
      * test/lisp/progmodes/flymake-tests.el (different-diagnostic-types): · ce9490cb
      Glenn Morris authored
      Expect failure on hydra.nixos.
    • Eli Zaretskii's avatar
      Improve commentary in 'field_relpos' · 2bcf0f09
      Eli Zaretskii authored
      * src/pdumper.c (PDUMPER_MAX_OBJECT_SIZE): New macro.
      (field_relpos): Use PDUMPER_MAX_OBJECT_SIZE, and comment on
      why we require that relpos be not too large.
    • Eli Zaretskii's avatar
      Restore process-environment after portable dumping · b29b79ef
      Eli Zaretskii authored
      * src/pdumper.c (struct dump_context): New member
      (Fdump_emacs_portable): Record the original value of
      (dump_unwind_cleanup): Restore the original values of
      process-environment and post-gc-hook.
    • Stephen Leake's avatar
    • Basil L. Contovounesios's avatar
      Avoid using obsolete indent-relative-maybe · 0e468a62
      Basil L. Contovounesios authored
      * lisp/electric.el (electric-indent-functions-without-reindent):
      * lisp/indent.el (indent-according-to-mode): Check for
      indent-relative-first-indent-point in addition to its obsolete alias
      * lisp/obsolete/vi.el (vi-com-map): Use
      indent-relative-first-indent-point in place of its obsolete alias
    • Stefan Monnier's avatar
      * lisp/progmodes/compile.el: Use non-nil values for *-function · 32e19b2b
      Stefan Monnier authored
      (compilation-process-setup-function, compilation-buffer-name-function):
      Give them non-nil default values.
      (compilation-buffer-name): Restructure slightly.
      (compilation--default-buffer-name): New function, extracted from it.
      Use `name-of-mode` instead of `mode-command` to check if the current
      buffer is already in the appropriate mode.
    • Stefan Monnier's avatar
      * lisp/progmodes/compile.el: Allow 'line' functions in error-regexp-alist · 3062f81d
      Stefan Monnier authored
      (compilation-error-properties): Allow 'line' and 'end-line' to be functions,
      like 'col' and 'end-col'.
      (compilation-error-regexp-alist): Document this.
      (compilation-parse-errors): Drop support for old undocumented feature
      where 'line' was a function of 2 arguments.
      (compilation--compat-error-properties): Delete function.
    • Glenn Morris's avatar
      ; Copyright years and license copyedits · 39c0795e
      Glenn Morris authored
    • Noam Postavsky's avatar
      Allow partial decompression (Bug#33133) · b36913d8
      Noam Postavsky authored
      * src/decompress.c (Fzlib_decompress_region): Add optional
      ALLOW-PARTIAL parameter.
      * lisp/url/url-http.el (url-handle-content-transfer-encoding): Use it.
      * doc/lispref/text.texi (Decompression): Document it.
      * etc/NEWS: Announce it.
    • Basil L. Contovounesios's avatar
      * lisp/gnus/gnus-dup.el: Use lexical-binding · 2bd3e484
      Basil L. Contovounesios authored
      (gnus-dup-list-dirty): Add docstring.
      (gnus-dup-open): Allocate gnus-dup-hashtb more conservatively now
      that it is no longer an obarray.
      (gnus-dup-enter-articles): Fix off-by-one error.
      (gnus-dup-suppress-articles): DRY.
      For discussion, see thread starting at:
    • Wilson Snyder's avatar
      Fix verilog-mode vmm statements and AUTOINPUTREG ignores. · e25e7d81
      Wilson Snyder authored
      * lisp/progmodes/verilog-mode.el (verilog-vmm-statement-re):
      Fix vmm statement regexps. Reported by Mattias Engdegard.
      (verilog-auto-reg-input-assigned-ignore-regexp): For AUTOINPUTREG,
      allow ignoring assignments with new
      `verilog-auto-reg-input-assigned-ignore-regexp' variable, bug1401.
      Reported by David Rogoff.
  2. 02 Apr, 2019 9 commits
    • Paul Eggert's avatar
      Improve regexp advice again, and unchain ranges · f9ff60e0
      Paul Eggert authored
      * doc/lispref/searching.texi (Regexp Special):
      Mention char classes earlier, in a more-logical place.
      Advise sticking to ASCII letters and digits in ranges.
      Reword negative advice to make it clearer that it’s negative.
      * lisp/files.el (make-auto-save-file-name):
      * lisp/gnus/message.el (message-mailer-swallows-blank-line):
      * lisp/gnus/nndoc.el (nndoc-lanl-gov-announce-type-p)
      * lisp/org/org-eshell.el (org-eshell-open):
      * lisp/org/org.el (org-deadline-time-hour-regexp)
      * lisp/progmodes/bat-mode.el (bat-font-lock-keywords):
      * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
      * lisp/textmodes/less-css-mode.el (less-css-font-lock-keywords):
      * lisp/vc/vc-cvs.el (vc-cvs-valid-symbolic-tag-name-p):
      * lisp/vc/vc-svn.el (vc-svn-valid-symbolic-tag-name-p):
      Avoid attempts to chain ranges, as this can be confusing.
      For example, instead of [0-9-_.], use [0-9_.-].
    • Eli Zaretskii's avatar
      Fix documentation of last change · bb669166
      Eli Zaretskii authored
      * doc/misc/cl.texi (Structures): Document :noinline.
      * etc/NEWS: Mark the entry for :noinline as documented.
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/cl-macs.el: Don't always inline struct functions · 144b2243
      Stefan Monnier authored
      (cl--struct-inline): New var.
      (cl-defstruct): Obey it along with a new :noinline keyword argument.
    • Stefan Monnier's avatar
      * lisp/subr.el (prog2): Define as a macro · 84616144
      Stefan Monnier authored
      * src/eval.c (Fprog2): Delete function.
      (syms_of_eval): Don't register it.
      * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
      * lisp/emacs-lisp/generator.el (cps--transform-1): Remove `prog2` case.
      * lisp/emacs-lisp/bytecomp.el (prog2): Remove handlers.
      (byte-compile-prog2): Delete.
      * lisp/emacs-lisp/lisp-mode.el (prog2): Remove property.
    • Michael Albinus's avatar
      Suppress timers in tramp-send-string · 3e8f9482
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-send-string): Suppress timers.  Use
    • Michael Albinus's avatar
      Give example for configuration in tramp.texi · 52e3d3d4
      Michael Albinus authored
      * doc/misc/tramp.texi (Configuration): Explain how to call Tramp
      configuration functions in the init file.
    • Paul Eggert's avatar
      More regexp advice and clarifications · 076ed98f
      Paul Eggert authored
      * doc/lispref/searching.texi (Regexp Special): Simplify style
      advice for order of ], ^, and - in character alternatives.
      Stick with saying that it’s not a good idea to put ‘-’ after a
      range.  Remove the special case about raw 8-bit bytes and
      unibyte characters, as this documentation is confusing and
      seems to be incorrect in some cases.  Say that z-a is the
      preferred style for reversed ranges, since it’s clearer and is
      typically what’s used in practice.  Mention some bad styles:
      duplicates in character alternatives, ranges that denote <=3
      characters, and ‘-’ as the first character.
    • Paul Eggert's avatar
      Merge from origin/emacs-26 · f81ec28f
      Paul Eggert authored
      0924b27b Say which regexp ranges should be avoided
      # Conflicts:
      #	doc/lispref/searching.texi
    • Paul Eggert's avatar
      ; Merge from origin/emacs-26 · f5d34496
      Paul Eggert authored
      The following commit was skipped:
      297a141c ; * lisp/ldefs-boot.el: Update.
  3. 01 Apr, 2019 7 commits
    • Eric Abrahamsen's avatar
      Refactor Gnus group name extraction in group completing read · 03ceee0e
      Eric Abrahamsen authored
      * lisp/gnus/gnus-group.el (gnus-group-completing-read): Only do the
        unibyte check once; make sure it applies to hash table keys as
    • Paul Eggert's avatar
      Make struct Lisp_Objfwd etc. objects read-only · 74b63d27
      Paul Eggert authored
      Initialize these objects statically, and make them constants.
      This is a bit safer and more efficient.
      * src/lisp.h (XBUFFER_OBJFWD):
      Return a pointer-to-const instead of an unrestricted pointer.
      (lispfwd): fwdptr is now a pointer-to-const instead of an
      unrestricted pointer.  All uses changed.
      (SET_SYMBOL_FWD): Accept pointer-to-const instead of an
      unrestricted pointer.
      (DEFVAR_KBOARD): Initialize static structures statically
      instead of dynamically, and make them const.
      * src/lread.c (defvar_int, defvar_bool, defvar_lisp_nopro)
      (defvar_lisp, defvar_kboard): Accept pointer-to-const instead
      of an unrestricted pointer; it’s now the caller’s
      responsibility to initialize the pointed-to storage.  No need
      for a separate address argument any more.  All callers
    • Paul Eggert's avatar
      Fix union Lisp_Fwd * alignment bug · 9287813d
      Paul Eggert authored
      It's not portable to cast (e.g.) struct Lisp_Objfwd * to union
      Lisp_Fwd * and then back again, because the compiler can then assume
      that the pointer is aligned for union Lisp_Fwd * when accessing
      the struct Lisp_Objfwd * components, and this assumption might
      be incorrect becase we don't force that alignment.
      * src/lisp.h (lispfwd): New type, replacing ...
      (union Lisp_Fwd): ... this type, which was removed.
      All uses changed.
      (SET_SYMBOL_FWD): 2nd arg is now void *, not lispfwd.
      All uses changed (casts no longer needed; they were
      not portable anyway).
    • Stefan Monnier's avatar
      * lisp/subr.el (setq-default): Define as a macro · 197fbfc7
      Stefan Monnier authored
      * lisp/emacs-lisp/bytecomp.el (byte-compile-setq-default): Delete.
      (byte-compile-set-default): Inline the part that it used.
      * lisp/emacs-lisp/edebug.el (setq-default): Remove the debug spec.
      * src/data.c (Fsetq_default): Delete.
      (syms_of_data): Don't register.
    • Eli Zaretskii's avatar
      Fix a typo in xterm.c and w32term.c · 20ef15fb
      Eli Zaretskii authored
      * src/xterm.c (x_window_to_scroll_bar):
      * src/w32term.c (x_window_to_scroll_bar): Fix a typo.
    • Glenn Morris's avatar
      ; Auto-commit of loaddefs files. · d5fdccca
      Glenn Morris authored
    • Paul Eggert's avatar
      Use update-game-score more often with Tetris · 1827197e
      Paul Eggert authored
      * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
      Go back to previous way of deciding whether to invoke
      update-game-score, except do not try to invoke it if file-modes
      fails on it (Bug#35056).
  4. 31 Mar, 2019 7 commits
    • Basil L. Contovounesios's avatar
      Do not set indent-line-function in text-mode · 63471c83
      Basil L. Contovounesios authored
      * lisp/textmodes/text-mode.el (text-mode): Do not reset
      indent-line-function to its global default value of indent-relative.
      * doc/lispref/modes.texi (Example Major Modes):
      * etc/NEWS: Document change accordingly.
    • Basil L. Contovounesios's avatar
      Do not set indent-line-function in text-mode · 2e3deb09
      Basil L. Contovounesios authored
      For discussion, see thread starting at:
      * lisp/textmodes/text-mode.el (text-mode): Do not reset
      indent-line-function to its global default value of indent-relative.
      * doc/lispref/modes.texi (Example Major Modes):
      * etc/NEWS: Document change accordingly.
    • Basil L. Contovounesios's avatar
      Use lexical-binding in text-mode.el · 4c9950d0
      Basil L. Contovounesios authored
      * lisp/textmodes/text-mode.el: Use lexical-binding.
      (text-mode, paragraph-indent-minor-mode, text-mode-hook-identify):
      Use setq-local.
      (toggle-text-mode-auto-fill): Quote function symbols as such.
      (center-line): Minor simplification.
      * doc/lispref/modes.texi (Example Major Modes): Update code example
      for these changes to text-mode.
    • Alan Third's avatar
      Use the correct filename for dump file in NS · 07d7852b
      Alan Third authored
      * nextstep/Makefile.in (all):
      (links): Use mixed case 'Emacs.pdmp' to match the executable name.
    • Basil L. Contovounesios's avatar
      Fix recently extended delete-indentation behavior · 0cd250e9
      Basil L. Contovounesios authored
      * doc/lispref/text.texi (User-Level Deletion): Document new optional
      arguments of delete-indentation.
      * lisp/simple.el (delete-indentation): Do not barf if called
      interactively when region is inactive. (bug#35021)
      Do not skip blank lines. (bug#35036)
      Consistently deactivate mark even when no text was changed.
      Handle active region spanning a single line.
      * test/lisp/simple-tests.el (simple-test--buffer-substrings):
      New convenience function.
      (simple-test--dummy-buffer, simple-test--transpositions): Use it.
      (simple-delete-indentation-inactive-region): Update commentary.
      Call delete-indentation interactively when testing for behavior with
      inactive region and region is not explicitly defined.
      (simple-delete-indentation-prefix): New tests.
    • Eric Abrahamsen's avatar
      Check gnus-newsgroup-dependencies is hash table in gnus-id-to-thread · 99be0aba
      Eric Abrahamsen authored
      * lisp/gnus/gnus-sum.el (gnus-id-to-thread): If dependencies haven't
        been initialized yet, don't blow up. Mimicks previous (non hasht
        table) behavior.
    • Mattias Engdegård's avatar
      Fix typo in regexp-opt example code · 6d7e18e8
      Mattias Engdegård authored
      * doc/lispref/searching.texi (Regexp Functions):
      Fix typo in example code (Bug#34596).
  5. 30 Mar, 2019 5 commits
    • Alan Mackenzie's avatar
      Allow a CC Mode derived mode to have strings delimited by single quotes. · b619777d
      Alan Mackenzie authored
      Also fix the bug where the delimiters of '\033', etc. got the error face.
      * lisp/progmodes/cc-langs.el (c-single-quotes-quote-strings): Enhance the docr
      (c-string-delims): Change doc string to doc comment.
      * listp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): In
      searches and comparisons, take account of the string delimiters possibly
      being '.  Fix argument in call of c-before-change-check-unbalanced-strings.
      (c-parse-quotes-before-change, c-parse-quotes-after-change): Bind
      case-fold-search to nil.  Analyze escape constructs inside character constants
      more accurately, in particular accepting as valid more than one character
      after /[0-7], /x, /u, and /U.  Amend calculations to account for this extra
    • Eli Zaretskii's avatar
      Fix a thinko in a recent commit · dd7d83e1
      Eli Zaretskii authored
      * src/buffer.c (Fkill_buffer): Fix last change.  (Bug#31138)
      Reported by Mattias Engdegård <mattiase@acm.org>.
    • Mattias Engdegård's avatar
      Release regexp before signalling overflow error · f2c14b2f
      Mattias Engdegård authored
      * src/search.c (looking_at_1, search_buffer_re): Unfreeze the regexp
      buffer before signalling a matcher overflow, since the error
      processing may require quite some regexp use as well (Bug#34910).
    • Mattias Engdegård's avatar
      Fix spurious regexp reentrancy error · 75ec1b19
      Mattias Engdegård authored
      * src/search.c (compile_pattern): Don't give up if the last regexp
      cache entry is busy.  Instead, use the last (least recently used)
      non-busy entry, and only signal a reentrancy error if there is no free
      entry at all (Bug#34910).
    • Eli Zaretskii's avatar
      Don't run buffer-related hooks in " *code conversion work*" buffers · 9c0fa117
      Eli Zaretskii authored
      Note: portions of this change were mistakenly pushed as part
      of an unrelated commit a35a1f6a.
      * src/buffer.c (Fget_buffer_create): Set inhibit_buffer_hooks
      non-zero for temporary buffers created by coding.c.  Don't run
      buffer-list-update-hook for such buffers.
      (Frename_buffer, Fkill_buffer, record_buffer)
      (Fbury_buffer_internal): Don't run hooks for buffers whose
      inhibit_buffer_hooks flag is set.
      * src/buffer.h (struct buffer): New member
      * src/pdumper.c (dump_buffer): Dump the new field.  Update the
      hash value in HASH_buffer_XXX.
      * src/coding.c (make_conversion_work_buffer): Function deleted;
      code moved to code_conversion_save.
      (code_conversion_save): Insert code from
      make_conversion_work_buffer, but arrange for unwind-protecting
      the current buffer before switching to the work buffer.  This
      avoids leaving reused_workbuf_in_use set if user presses C-g
      during encoding/decoding.
      (Vcode_conversion_workbuf_name): Now external variable.
      * src/coding.h (Vcode_conversion_reused_workbuf): Declare.