1. 13 Sep, 2019 1 commit
    • Gemini Lasswell's avatar
      Improve print output options commands in backtrace-mode (bug#36566) · 2093395d
      Gemini Lasswell authored
      * lisp/emacs-lisp/backtrace.el (backtrace-view): Mention
      :print-gensym in docstring.
      (backtrace-mode-map): Add keyboard binding for
      backtrace-toggle-print-gensym.  Add menu entries for
      backtrace-toggle-print-circle and backtrace-toggle-print-gensym.
      (backtrace--with-output-variables): Bind print-gensym with value
      of :print-gensym found in view plist.
      (backtrace-toggle-print-circle): Remove description of
      implementation details from docstring.
      (backtrace-toggle-print-gensym): New command.
      (backtrace--toggle-feature): Add echo area message describing result
      of command.
      
      * test/lisp/emacs-lisp/backtrace-tests.el
      (backtrace-tests--print-circle): New test.
      
      * doc/lispref/debugging.texi (Backtraces): Document keyboard
      binding for backtrace-toggle-print-gensym.
      2093395d
  2. 02 Sep, 2019 1 commit
  3. 01 Sep, 2019 1 commit
  4. 31 Aug, 2019 1 commit
  5. 27 Aug, 2019 1 commit
    • Paul Eggert's avatar
      Use XDG conventions more consistently · 4118297a
      Paul Eggert authored
      Fit in better with the XDG conventions.
      Something like this was suggested in 2008 (Bug#583)
      and the XDG conventions seem to have settled down by now.
      * doc/emacs/custom.texi (Init File, Init Syntax, Find Init):
      * doc/lispref/files.texi (Standard File Names):
      * doc/lispref/os.texi (Init File):
      * doc/misc/url.texi (Customization):
      * etc/NEWS:
      Adjust accordingly.
      * lisp/startup.el (startup--load-user-init-file):
      If init-file-name is nil, do not load from it; instead
      just use the alt-file.
      (find-init-path): Remove; no longer used.
      (command-line): Don't check twice for XDG.
      Look at XDG_CONFIG_HOME instead of assuming it's ~/.config.
      Prefer XDG configuration if it exists; the user can disable
      this by setting XDG_CONFIG_HOME to some other place.
      * lisp/subr.el (user-emacs-directory):
      Prefer XDG configuration if it exists.
      4118297a
  6. 23 Aug, 2019 2 commits
  7. 21 Aug, 2019 3 commits
    • Lars Ingebrigtsen's avatar
      Adjust quit-window-hook documentation · b60bdfcd
      Lars Ingebrigtsen authored
      * doc/lispref/windows.texi (Quitting Windows): Adjust
      documentation of quit-window-hook (bug#9867).
      b60bdfcd
    • Lars Ingebrigtsen's avatar
      Mention quit-window-hook in "Standard Hooks" · ab9cb08e
      Lars Ingebrigtsen authored
      * doc/lispref/hooks.texi (Standard Hooks): Mention
      quit-window-hook (bug#9867).
      ab9cb08e
    • Noam Postavsky's avatar
      Respect global-eldoc-mode in minibuffers (Bug#36886) · 7e2090ee
      Noam Postavsky authored
      * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Accept
      a BODY parameter.
      * doc/lispref/modes.texi (Defining Minor Modes): Document new
      parameter.
      * etc/NEWS: Announce it.
      
      * lisp/simple.el (read--expression): Move eldoc-mode setup to...
      * lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): ... here,
      new function.
      (global-eldoc-mode): Add or remove it to
      eval-expression-minibuffer-setup-hook when enabling or disabling
      global-eldoc-mode.  This enables eldoc in the minibuffer (solving
      Bug#27202), only when global-eldoc-mode is enabled.
      7e2090ee
  8. 20 Aug, 2019 2 commits
    • Paul Eggert's avatar
      Support larger TIMEs in (time-convert TIME t) · 5a955212
      Paul Eggert authored
      Also, improve the doc to match current behavior.
      * doc/lispref/os.texi (Time Conversion): Document that
      time-convert signals an error for infinite or NaN args,
      and that (time-convert TIME t) is exact otherwise.
      Mention float-time as an alternative to time-convert.
      (Time Calculations): Document that time-add and time-subtract
      are exact and do not decrease HZ below the minimum of their args.
      * src/timefns.c (decode_float_time): Don’t signal an error for
      floating-point arguments whose base-FLT_RADIX exponent is not less
      than DBL_MANT_DIG.  Instead, convert them to (TICKS . 1) values.
      Use two (instead of three) integer exponent comparisons in the
      typical case.
      * test/src/timefns-tests.el (time-arith-tests):
      Add more floating-point tests, including some tests
      that the old code fails.
      5a955212
    • Lars Ingebrigtsen's avatar
      Add a new hook: `quit-window-hook' · afdf6798
      Lars Ingebrigtsen authored
      * doc/lispref/windows.texi (Quitting Windows): Mention in.
      
      * lisp/window.el (quit-restore-window): Run the new
      `quit-window-hook' before doing anything else (bug#9867).
      (quit-window): Note that the hook will be run in the doc string.
      
      * lisp/window.el (quit-window-hook): New variable.
      afdf6798
  9. 19 Aug, 2019 1 commit
    • Noam Postavsky's avatar
      Fix process filter documentation (Bug#13400) · 615cff42
      Noam Postavsky authored
      * doc/lispref/processes.texi (Asynchronous Processes): Note that input
      may read when sending data as well.
      (Output from Processes): Note that functions which send data may also
      trigger reading from processes.
      (Input to Processes, Filter Functions): Note that filter functions may
      be called recursively.
      615cff42
  10. 18 Aug, 2019 2 commits
  11. 17 Aug, 2019 1 commit
    • Paul Eggert's avatar
      More-compatible subsecond calendrical timestamps · 37257d6a
      Paul Eggert authored
      Instead of appending a subseconds member to the result of
      ‘decode-time’, this keeps the format unchanged unless you give
      a new optional argument to ‘decode-time’.  Also, the augmented
      format now puts the subsecond info in the SECONDS element, so
      the total number of elements is unchanged; this is more
      compatible with code that expects the traditional 9 elements,
      such as ‘(pcase decoded-time (`(,SEC ,MIN ,HOUR ,DAY ,MON
      ,YEAR ,DOW ,DST ,ZONE) ...) ...)’.
      * doc/lispref/os.texi, doc/misc/emacs-mime.texi, etc/NEWS:
      * lisp/net/soap-client.el (soap-decode-date-time):
      * lisp/simple.el (decoded-time):
      Document the new behavior.
      * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
      * lisp/calendar/iso8601.el (iso8601-parse)
      (iso8601-parse-time, iso8601-parse-duration)
      (iso8601--decoded-time):
      * lisp/calendar/parse-time.el (parse-time-string):
      * lisp/calendar/time-date.el (decoded-time-add)
      (decoded-time--alter-second):
      * lisp/org/org.el (org-parse-time-string):
      * lisp/simple.el (decoded-time):
      * src/timefns.c (Fdecode_time, Fencode_time):
      * test/lisp/calendar/icalendar-tests.el:
      (icalendar--decode-isodatetime):
      * test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years)
      (test-iso8601-date-dates, test-iso8601-date-obsolete)
      (test-iso8601-date-weeks, test-iso8601-date-ordinals)
      (test-iso8601-time, test-iso8601-combined)
      (test-iso8601-duration, test-iso8601-intervals)
      (standard-test-dates, standard-test-time-of-day-fractions)
      (standard-test-time-of-day-beginning-of-day)
      (standard-test-time-of-day-utc)
      (standard-test-time-of-day-zone)
      (standard-test-date-and-time-of-day, standard-test-interval):
      * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
      * test/src/timefns-tests.el (format-time-string-with-zone)
      (encode-time-dst-numeric-zone):
      Revert recent changes that added a SUBSECS member to
      calendrical timestamps, since that component is no longer
      present (the info, if any, is now in the SECONDS member).
      * lisp/calendar/time-date.el (decoded-time-add)
      (decoded-time--alter-second):
      Support fractional seconds in the new form.  Simplify.
      * src/timefns.c (Fdecode_time): Support new arg FORM.
      (Fencode_time): Support subsecond resolution.
      * test/src/timefns-tests.el (format-time-string-with-zone)
      (decode-then-encode-time): Test subsecond calendrical timestamps.
      37257d6a
  12. 16 Aug, 2019 1 commit
  13. 15 Aug, 2019 1 commit
  14. 06 Aug, 2019 3 commits
    • Mattias Engdegård's avatar
      Add conditional operator xor to subr.el · c676444a
      Mattias Engdegård authored
      Suggested by Oleh Krehel and implemented by Basil Contovounesios in
      the following thread:
      https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00547.html
      
      * lisp/array.el (xor): Move unused function from here...
      * lisp/subr.el: ...to here, and improve.
      * lisp/gnus/spam.el (spam-xor):
      * lisp/play/5x5.el (5x5-xor):
      * lisp/proced.el (proced-xor):
      * lisp/progmodes/idlwave.el (idlwave-xor):
      * lisp/vc/diff-mode.el (diff-xor): Define as obsolete aliases of,
      and replace all uses with, xor.
      * lisp/jsonrpc.el: Remove unused dependency on array.el.
      * lisp/org/org.el (org-xor): Move from here...
      * lisp/org/org-compat.el (org-xor): ...to here, as a compatibility
      shim for xor.
      * lisp/progmodes/idlw-shell.el (idlwave-shell-enable-all-bp):
      * lisp/simple.el (exchange-point-and-mark):
      * lisp/windmove.el (windmove-display-in-direction): Use xor.
      * lisp/strokes.el (strokes-xor): Remove commented-out xor
      implementation.
      
      * doc/lispref/control.texi (Control Structures): Extend menu entry
      for new combining condition.
      (Combining Conditions):
      * etc/NEWS (Lisp Changes): Document xor.
      
      * test/lisp/subr-tests.el (subr-test-xor): New test.
      c676444a
    • Paul Eggert's avatar
      decode-time now returns subsec too · b06917a4
      Paul Eggert authored
      The list that decode-time returns now contains an extra
      trailing component that counts the subseconds part of the
      original timestamp (Bug#36549).
      This builds on a suggestion by Lars Ingebrigtsen in:
      https://lists.gnu.org/r/emacs-devel/2019-07/msg00734.html
      * doc/lispref/os.texi (Time Conversion):
      * doc/misc/emacs-mime.texi (time-date):
      * etc/NEWS: Document this.
      * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
      * lisp/calendar/iso8601.el (iso8601-parse)
      (iso8601-parse-time, iso8601-parse-duration)
      (iso8601--decoded-time):
      * lisp/calendar/parse-time.el (parse-time-string):
      * lisp/calendar/time-date.el (make-decoded-time)
      (decoded-time-set-defaults):
      * lisp/org/org.el (org-fix-decoded-time)
      (org-parse-time-string):
      * src/timefns.c (Fdecode_time):
      Generate subsec member for decoded time.
      * lisp/calendar/time-date.el (decoded-time-add)
      Add the decoded subsec too.
      * lisp/simple.el (decoded-time): New subsec member.
      * src/data.c (Frem): Simplify zero-check to match that of new Fmod.
      (integer_mod): New function, with most of the guts of the old Fmod.
      Remove redundant zero-check.
      (Fmod): Use it.
      * src/timefns.c (Fencode_time): Handle new subsec member
      or (with the obsolescent calling convention) subsec arg.
      It defaults to 0.
      * test/lisp/calendar/icalendar-tests.el:
      (icalendar--decode-isodatetime):
      * test/lisp/calendar/iso8601-tests.el (test-iso8601-date-years)
      (test-iso8601-date-dates, test-iso8601-date-obsolete)
      (test-iso8601-date-weeks, test-iso8601-date-ordinals)
      (test-iso8601-time, test-iso8601-combined)
      (test-iso8601-duration, test-iso8601-intervals)
      (standard-test-dates, standard-test-time-of-day-fractions)
      (standard-test-time-of-day-beginning-of-day)
      (standard-test-time-of-day-utc)
      (standard-test-time-of-day-zone)
      (standard-test-date-and-time-of-day, standard-test-interval):
      * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
      * test/src/timefns-tests.el (format-time-string-with-zone)
      (encode-time-dst-numeric-zone):
      Adjust to match new behavior.
      b06917a4
    • Paul Eggert's avatar
      New function time-convert · 89c63b35
      Paul Eggert authored
      This replaces the awkward reuse of encode-time to both convert
      calendrical timestamps to Lisp timestamps, and to convert Lisp
      timestamps to other forms.  Now, encode-time does just the
      former and the new function does just the latter.
      The new function builds on a suggestion by Lars Ingebrigtsen in:
      https://lists.gnu.org/r/emacs-devel/2019-07/msg00801.html
      and refined by Stefan Monnier in:
      https://lists.gnu.org/r/emacs-devel/2019-07/msg00803.html
      * doc/lispref/os.texi (Time of Day, Time Conversion):
      * doc/misc/emacs-mime.texi (time-date):
      * etc/NEWS: Update documentation.
      * lisp/calendar/cal-dst.el (calendar-next-time-zone-transition):
      * lisp/calendar/time-date.el (seconds-to-time, days-to-time):
      * lisp/calendar/timeclock.el (timeclock-seconds-to-time):
      * lisp/cedet/ede/detect.el (ede-detect-qtest):
      * lisp/completion.el (cmpl-hours-since-origin):
      * lisp/ecomplete.el (ecomplete-add-item):
      * lisp/emacs-lisp/cl-extra.el (cl--random-time):
      * lisp/emacs-lisp/timer.el (timer--time-setter)
      (timer-next-integral-multiple-of-time):
      * lisp/find-lisp.el (find-lisp-format-time):
      * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
      * lisp/gnus/gnus-group.el (gnus-group-set-timestamp):
      * lisp/gnus/gnus-icalendar.el (gnus-icalendar-show-org-agenda):
      * lisp/gnus/nnrss.el (nnrss-normalize-date):
      * lisp/gnus/nnspool.el (nnspool-request-newgroups):
      * lisp/net/ntlm.el (ntlm-compute-timestamp):
      * lisp/net/pop3.el (pop3-uidl-dele):
      * lisp/obsolete/vc-arch.el (vc-arch-add-tagline):
      * lisp/org/org-clock.el (org-clock-get-clocked-time)
      (org-clock-resolve, org-resolve-clocks, org-clock-in)
      (org-clock-out, org-clock-sum):
      * lisp/org/org-id.el (org-id-uuid, org-id-time-to-b36):
      * lisp/org/ox-publish.el (org-publish-cache-ctime-of-src):
      * lisp/proced.el (proced-format-time):
      * lisp/progmodes/cc-cmds.el (c-progress-init)
      (c-progress-update):
      * lisp/progmodes/cperl-mode.el (cperl-time-fontification):
      * lisp/progmodes/flymake.el (flymake--schedule-timer-maybe):
      * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
      (vhdl-fix-case-region-1):
      * lisp/tar-mode.el (tar-octal-time):
      * lisp/time.el (emacs-uptime):
      * lisp/url/url-auth.el (url-digest-auth-make-cnonce):
      * lisp/url/url-util.el (url-lazy-message):
      * lisp/vc/vc-cvs.el (vc-cvs-parse-entry):
      * lisp/vc/vc-hg.el (vc-hg-state-fast):
      * lisp/xt-mouse.el (xterm-mouse-event):
      * test/lisp/emacs-lisp/timer-tests.el:
      (timer-next-integral-multiple-of-time-2):
      Use time-convert, not encode-time.
      * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
      Don’t use now-removed FORM argument for encode-time.
      It wasn’t crucial anyway.
      * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add time-convert.
      * lisp/emacs-lisp/elint.el (elint-unknown-builtin-args):
      Update encode-time signature to match current arg set.
      * lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
      Use timer-convert with t rather than doing it by hand.
      * src/timefns.c (time_hz_ticks, time_form_stamp, lisp_time_form_stamp):
      Remove; no longer needed.
      (decode_lisp_time): Rturn the form instead of having a *PFORM arg.
      All uses changed.
      (time_arith): Just return TICKS if HZ is 1.
      (Fencode_time): Remove argument FORM.  All callers changed.
      Do not attempt to encode time values; just encode
      decoded (calendrical) times.
      Unless CURRENT_TIME_LIST, just return VALUE since HZ is 1.
      (Ftime_convert): New function, which does the time value
      conversion that bleeding-edge encode-time formerly did.
      Return TIME if it is easy to see that it is already
      of the correct form.
      (Fcurrent_time): Mention in doc that the form is planned to change.
      * test/src/timefns-tests.el (decode-then-encode-time):
      Don’t use (encode-time nil).
      89c63b35
  15. 05 Aug, 2019 1 commit
  16. 04 Aug, 2019 3 commits
    • Paul Eggert's avatar
      Improve time function doc · 5f3f3884
      Paul Eggert authored
      * doc/misc/emacs-mime.texi (time-date): Don’t give
      parse-iso8601-time-string in the example, as the function is
      not autoloaded.
      * lisp/gnus/nndiary.el (nndiary-compute-reminders):
      No need to call encode-time or use floating point here.
      5f3f3884
    • Lars Ingebrigtsen's avatar
      Capitalise a couple of node names · 21ada03d
      Lars Ingebrigtsen authored
      * doc/lispref/functions.texi (Advising Functions): Capitalise node
      names (bug#17717).
      (Advice Combinators, Porting Old Advice): Capitalise.
      21ada03d
    • Lars Ingebrigtsen's avatar
      Core Advising Primitives `interactive' clarification · 151a99cc
      Lars Ingebrigtsen authored
      * doc/lispref/functions.texi (Core Advising Primitives): Clarify
      when the interactive spec is a function (bug#17871).
      151a99cc
  17. 03 Aug, 2019 5 commits
  18. 02 Aug, 2019 1 commit
  19. 01 Aug, 2019 3 commits
  20. 31 Jul, 2019 3 commits
  21. 30 Jul, 2019 3 commits