1. 10 Mar, 2018 1 commit
    • Eli Zaretskii's avatar
      Improve support for desktop restoration in daemon mode · a8be860e
      Eli Zaretskii authored
      * lisp/server.el (server-after-make-frame-hook): New hook.
      (server-execute): Call it after creating a new frame or before
      switching to a buffer shown in a client frame.  (Bug#30421)
      * doc/emacs/misc.texi (Saving Emacs Sessions): Adjust advice for
      restoring desktop in daemon mode to the new hook.
      * doc/lispref/frames.texi (Creating Frames, Standard Hooks):
      Document server-after-make-frame-hook.
      * etc/NEWS: Mention server-after-make-frame-hook.
  2. 09 Mar, 2018 1 commit
    • Paul Eggert's avatar
      Avoid losing info when formatting integers · 80e145fc
      Paul Eggert authored
      * doc/lispref/numbers.texi (Integer Basics): Clarify that
      out-of-range integers are treated as floating point only when the
      integers are decimal.
      * etc/NEWS: Mention changes.
      * src/editfns.c (styled_format): Use %.0f when formatting %d or %i
      values outside machine integer range, to avoid losing info.
      Signal an error for %o or %x values that are too large to be
      formatted, to avoid losing info.
  3. 06 Mar, 2018 2 commits
    • Michael Heerdegen's avatar
      Revert last commit · f6bd7e06
      Michael Heerdegen authored
      This reverts commit af4697fa.  It's
      too late for this to be in the release.
    • Michael Heerdegen's avatar
      Define if-let* and derivatives as aliases for if-let etc · af4697fa
      Michael Heerdegen authored
      This commit reverts declaring `if-let' and `when-let' obsolete in
      favor of the new `if-let*' and `when-let*' versions because of the
      compiler warning mess (Bug#30039).  Instead we make foo-let* aliases
      for foo-let.  The old single-tuple variable spec case is still
      supported for backward compatibility.
      * lisp/emacs-lisp/subr-x.el (if-let, when-let): Don't declare
      obsolete.  Tweak edebug specs.
      (and-let): Renamed from `and-let*' for compatibility with the names
      `if-let' and `when-let'.
      (if-let*, when-let*, and-let*): Define as aliases for `if-let',
      `when-let' and `and-let'.
      * test/lisp/emacs-lisp/subr-x-tests.el (if-let-single-tuple-case-test)
      (when-let-single-tuple-case-test): New tests for the single-binding
      tuple case.
      In the whole file, prefer the names without "*".
  4. 05 Mar, 2018 2 commits
    • Paul Eggert's avatar
      uniqify -> uniquify · 136e1d23
      Paul Eggert authored
      The latter spelling is more common both within Emacs and in
      English-language sources in general (Bug#10048).
      * lisp/eshell/esh-util.el (eshell-uniquify-list):
      Rename from eshell-uniqify-list.  All callers changed.
      * lisp/pcomplete.el (pcomplete-uniquify-list):
      Rename from pcomplete-uniqify-list.  All callers changed.
    • Paul Eggert's avatar
      Spelling fixes (Bug#10068) · 0e10b6fc
      Paul Eggert authored
      * lisp/gnus/gnus-score.el (gnus-score-find-favorite-words):
      Rename from gnus-score-find-favourite-words.
      * lisp/hfy-cmap.el (hfy-fallback-color-map)
      (hfy-rgb-txt-color-map, hfy-fallback-color-values):
      * lisp/htmlfontify.el (hfy-color-vals, hfy-color):
      Rename from names that used 'colour' instead of 'color'.
  5. 03 Mar, 2018 1 commit
  6. 02 Mar, 2018 1 commit
    • Tak Kunihiro's avatar
      Rename some mwheel options, for consistency · 3968f72b
      Tak Kunihiro authored
      * lisp/mwheel.el (mouse-wheel-tilt-scroll)
      (mouse-wheel-flip-direction): Rename from mwheel-tilt-scroll-p,
      (mwheel-scroll): Update for option renaming.
      * doc/emacs/frames.texi (Mouse Commands):
      Update for option renaming.
  7. 28 Feb, 2018 1 commit
  8. 24 Feb, 2018 1 commit
  9. 23 Feb, 2018 1 commit
    • Daniel Colascione's avatar
      Add isearch-yank-symbol-or-char · b9d414e7
      Daniel Colascione authored
      * doc/emacs/search.texi (Isearch Yank): Document new
      function, keybindings.
      * etc/NEWS: Mention isearch changes.
      * lisp/isearch.el (isearch--yank-char-or-syntax): New function.
      (isearch-yank-word-or-char): Call it.
      (isearch-yank-symbol-or-char): New function.
      (isearch-mode-map): Change 'C-M-w' binding from
      'isearch-del-char' to isearch-yank-symbol-or-char; add 'C-M-d'
      binding for 'isearch-del-char'.
  10. 22 Feb, 2018 2 commits
  11. 21 Feb, 2018 1 commit
    • Juri Linkov's avatar
      * lisp/simple.el (next-error-find-buffer-function): New defcustom. · d48e07aa
      Juri Linkov authored
      (next-error-last-buffer): Make variable buffer-local.
      (next-error-buffer-on-selected-frame): New function.
      (next-error-find-buffer): Use next-error-find-buffer-function
      at the first step instead of ad-hoc logic of using one window
      on the selected frame.
      (next-error, next-error-internal): Set default value of
      next-error-last-buffer.  Display message with the name of last
      next-error buffer.
      (next-error-select-buffer): New command.
  12. 17 Feb, 2018 2 commits
  13. 13 Feb, 2018 1 commit
  14. 12 Feb, 2018 1 commit
  15. 11 Feb, 2018 1 commit
    • Alan Third's avatar
      Remove NS special handling of 'frame-title-format' · f7a853d8
      Alan Third authored
      * lisp/term/ns-win.el (frame-title-format, icon-title-format): Change
      default format to just the filename.
      * src/nsfns.m (ns-use-proxy-icon): New variable.
      (ns_set_name_as_filename): Remove function.
      (x_implicitly_set_name): Get rid of special handling of
      * src/nsterm.h (ns_set_represented_filename): Use new definition.
      * src/nsterm.m (ns_set_represented_filename): Move some of the logic
      from ns_set_name_as_filename into this function.
  16. 04 Feb, 2018 3 commits
  17. 03 Feb, 2018 1 commit
  18. 02 Feb, 2018 1 commit
    • Philipp Stephani's avatar
      Properly integrate modules into the loading process (Bug#30164). · 0443411f
      Philipp Stephani authored
      * src/lread.c (Fload): Don't defer to module-load immediately when
      encountering a module, but use the normal loading machinery to
      properly set up load-history, check for recursive loads, print
      messages, etc.
      * test/src/emacs-module-tests.el (module/load-history): New test.
      (module/describe-function-1): Adapt test.
      * etc/NEWS: Mention fixed behavior.
  19. 28 Jan, 2018 4 commits
    • Philipp Stephani's avatar
      Prevent name clashes between CL structures and builtin types · 9a747b35
      Philipp Stephani authored
      * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Don't allow
      structures with the same names as builtin types.
      (cl--typeof-types, cl--all-builtin-types): Move from cl-generic.el and
      (cl--struct-name-p): New helper function.
      * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't allow structures
      with the same names as builtin types.
      * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-generalizer)
      (cl-generic-generalizers): Adapt to name change.
      * test/lisp/emacs-lisp/cl-macs-tests.el (cl-defstruct/builtin-type):
      * test/lisp/emacs-lisp/cl-preloaded-tests.el
      (cl-struct-define/builtin-type): New unit tests.
      * etc/NEWS: Document changed behavior.
    • Noam Postavsky's avatar
      Revert "Signal error for symbol names with strange quotes (Bug#2967)" · 0510a78d
      Noam Postavsky authored
      That commit did not make the corresponding change to printing, thus
      breaking the (eq (read (prin1-to-string SYM)) SYM) invariant for those
      symbols.  It's too late in the release cycle to change printing
      behavior, therefore revert the reader change.
      Don't merge to master, the print function will be updated there (see
      "Fix round tripping of read->print for symbols with strange quotes").
    • Noam Postavsky's avatar
      Fix round tripping of read->print for symbols with strange quotes · 36c8128e
      Noam Postavsky authored
      Since 2017-07-22 "Signal error for symbol names with strange
      quotes (Bug#2967)", symbol names beginning with certain quote
      characters require an escaping backslash.  However, the corresponding
      change for printing missed, so that (eq (read (prin1-to-string SYM))
      SYM) does not give `t' for such symbols.
      * src/character.c (confusable_symbol_character_p): New function,
      extracted from test `read1'.
      * src/lread.c (read1): Use it.
      * src/print.c (print_object): Use it to print a backslash for symbols
      starting with characters that `read1' requires to be escaped.
      * test/src/print-tests.el (print-read-roundtrip): New test.
      * etc/NEWS.26:
      * etc/NEWS: Clarify the announcement for the earlier reader
      change (Bug#30217).
    • tino calancha's avatar
      Code refactoring assoc-delete-all assq-delete-all · 9824885f
      tino calancha authored
      * lisp/subr.el (assoc-delete-all): Add optional arg TEST.
      (assq-delete-all): Use assoc-delete-all.
      * test/lisp/subr-tests.el (subr-tests--assoc-delete-all)
      (subr-tests--assq-delete-all): New tests.
      * doc/lispref/lists.texi (Association Lists): Document
      assoc-delete-all in the manual.
      ; * etc/NEWS: Announce assoc-delete-all.
  20. 27 Jan, 2018 1 commit
    • Noam Postavsky's avatar
      Raise limit of regexp repetition (Bug#24914) · 559f1606
      Noam Postavsky authored
      * src/regex.h (RE_DUP_MAX): Raise limit to 2^16-1.
      * etc/NEWS: Announce it.
      * doc/lispref/searching.texi (Regexp Backslash): Document it.
      * test/src/regex-tests.el (regex-repeat-limit): Test it.
      * src/regex.h (reg_errcode_t): Add REG_ESIZEBR code.
      * src/regex.c (re_error_msgid): Add corresponding entry.
      (GET_INTERVAL_COUNT): Return it instead of the more generic REG_EBADBR
      when encountering a repetition greater than RE_DUP_MAX.
      * lisp/isearch.el (isearch-search): Don't convert errors starting with
      "Invalid" into "incomplete".  Such errors are not incomplete, in the
      sense that they cannot be corrected by appending more characters to
      the end of the regexp.  The affected error messages are:
      - REG_BADPAT "Invalid regular expression"
        - \\(?X:\\) where X is not a legal group number
        - \\_X where X is not < or >
      - REG_ECOLLATE "Invalid collation character"
        - There is no code to throw this.
      - REG_ECTYPE "Invalid character class name"
        - [[:foo:] where foo is not a valid class name
      - REG_ESUBREG "Invalid back reference"
        - \N where N is referenced before matching group N
      - REG_BADBR "Invalid content of \\{\\}"
        - \\{N,M\\} where N < 0, M < N, M or N larger than max
        - \\{NX where X is not a digit or backslash
        - \\{N\\X where X is not a }
      - REG_ERANGE "Invalid range end"
        - There is no code to throw this.
      - REG_BADRPT "Invalid preceding regular expression"
        - We never throw this.  It would usually indicate a "*" with no
          preceding regexp text, but Emacs allows that to match a literal
  21. 23 Jan, 2018 1 commit
  22. 22 Jan, 2018 1 commit
    • Rasmus's avatar
      Update Org to v9.1.6 · bb396a36
      Rasmus authored
      Please note this is a bugfix release. See etc/ORG-NEWS for details.
  23. 21 Jan, 2018 1 commit
    • Juri Linkov's avatar
      New function read-answer (bug#30073) · afba4ccb
      Juri Linkov authored
      * lisp/emacs-lisp/map-ynp.el (read-answer): New function.
      (read-answer-short): New defcustom.
      * lisp/dired.el (dired-delete-file): Use read-answer.
      (dired--yes-no-all-quit-help): Remove function.
      (dired-delete-help): Remove defconst.
      * lisp/subr.el (assoc-delete-all): New function.
  24. 18 Jan, 2018 1 commit
    • Martin Rudalics's avatar
      Fix some tooltip related problems · e462308f
      Martin Rudalics authored
      Replace 'tooltip' frame parameter with a 'tooltip' member in
      the frame structure.  For GTK+ builds use 'tip_last_frame' to
      find the frame for which the currently visible tooltip was
      made.  For modeline help-echoing have tooltips show applicable
      actions only.
      * lisp/bindings.el (mode-line-default-help-echo): New function
      as default value of homonymous option.
      * src/dispextern.h (tip_frame, tip_window): Remove
      * src/frame.c (make_frame): Initialize new frame structure
      member 'tooltip'.
      (Fframe_list, other_frames): Rewrite with new macro
      * src/frame.h (struct frame): New member 'tooltip'.
      (FRAME_TOOLTIP_P): New macro.
      * src/gtkutil.c (xg_prepare_tooltip, xg_hide_tooltip): Rewrite
      using boolean return values.
      * src/nsfns.m (tip_frame): Remove declaration.
      * src/w32fns.c (w32_display_monitor_attributes_list)
      (w32_display_monitor_attributes_list_fallback): Rewrite with
      new macro FRAME_TOOLTIP_P.
      (tip_last_string, tip_last_frame, tip_last_parms): New Lisp
      scalars replacing Lisp vector last_show_tip_args.
      (x_create_tip_frame): Set new frame's 'tooltip' structure
      member to true.
      (x_hide_tip): Additionally test tip_frame for liveness.
      (Fx_show_tip): Handle last_show_tip_args to tip_last_frame,
      tip_last_string and tip_last_parms conversion.
      (syms_of_w32fns): staticpro tip_last_frame, tip_last_string
      and tip_last_parms instead of last_show_tip_args.
      * src/w32term.c (w32_read_socket, x_new_font): Rewrite with
      new macro FRAME_TOOLTIP_P.
      * src/w32term.h (tip_window): Add external declaration.
      * src/xdisp.c (x_consider_frame_title, prepare_menu_bars)
      (should_produce_line_number): Rewrite with new macro
      (note_mode_line_or_margin_highlight): If
      `mode-line-default-help-echo' specifies a function, call it to
      produce help echo string.
      * src/xfns.c (x_make_monitor_attribute_list)
      (Fx_display_monitor_attributes_list): Rewrite with
      new macro FRAME_TOOLTIP_P.
      (tip_last_string, tip_last_frame, tip_last_parms): New Lisp
      scalars replacing Lisp vector last_show_tip_args.
      (x_create_tip_frame): Set new frame's 'tooltip' structure
      member to true.
      (x_hide_tip): Rewrite with additional tests of frames for
      liveness and taking into account that for GTK+ tips the
      reference frame is now stored in tip_last_frame instead of
      (Fx_show_tip): Handle last_show_tip_args to tip_last_frame,
      tip_last_string and tip_last_parms conversion.  For GTK+ store
      FRAME argument in tip_last-frame.
      (syms_of_xfns): staticpro tip_last_frame, tip_last_string
      and tip_last_parms instead of last_show_tip_args.
      * src/xterm.c (x_update_begin, handle_one_xevent, x_new_font)
      (x_set_window_size): Rewrite with new macro FRAME_TOOLTIP_P.
      * src/xterm.h (tip_window): Add external declaration.
      * etc/NEWS: Mention new modeline tooltips behavior.
  25. 16 Jan, 2018 1 commit
  26. 15 Jan, 2018 2 commits
  27. 13 Jan, 2018 2 commits
    • Ken Brown's avatar
      Add battery support to all Cygwin builds · 5af5df1f
      Ken Brown authored
      It already exists in the Cygwin-w32 build.
      * src/w32fns.c (Fw32_battery_status): Move to...
      * src/w32cygwinx: New file, to be used for functions common to
      the MS Windows and Cygwin builds.
      (syms_of_w32cygwinx): New function.
      * src/lisp.h: Add prototype of syms_of_w32cygwinx.
      * src/emacs.c (main) [HAVE_NTGUI or CYGWIN]: Call syms_of_w32cygwinx.
      * src/Makefile.in (SOME_MACHINE_OBJECTS):
      * configure.ac (W32_OBJ) [HAVE_W32]: Add w32cygwinx.o.
      (W32_LIBS) [CYGWIN]: Set equal to "-lkernel32" in non-w32 build.
      (W32_OBJ) [CYGWIN]: Set equal to "w32cygwinx.o" in non-w32 build.
      * etc/NEWS: Document the new battery support.
    • Eli Zaretskii's avatar
  28. 11 Jan, 2018 1 commit
    • Stefan Monnier's avatar
      * lisp/mail/smtpmail.el: Use lexical-binding and cl-generic · ccedc679
      Stefan Monnier authored
      (smtpmail-auth-supported): Mark it as non-constant.
      (smtpmail-try-auth-methods): Remove unused var 'ret'.
      Test non-nullness of mech user and password before calling
      (smtpmail-try-auth-method): Make it into a generic function.
      (smtpmail-via-smtp): Remove unused var 'response-code'.
  29. 07 Jan, 2018 1 commit