1. 07 Aug, 2019 6 commits
  2. 06 Aug, 2019 11 commits
    • Michael Albinus's avatar
      Fix Bug#36940 · 998f3612
      Michael Albinus authored
      * test/lisp/net/tramp-tests.el (tramp--test-file-attributes-equal-p):
      Make the check more precise.  (Bug#36940)
      (tramp-test19-directory-files-and-attributes): Move some checks to
    • Alan Mackenzie's avatar
      C++ Mode: Prevent End of statement being found after {} in "count << vec{} <<" · 7f0de07b
      Alan Mackenzie authored
      * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Check for
      operators which cannot start a statement, which may follow a closing brace.
      Don't recognise an end of statement in such a case.
      * lisp/progmodes/cc-langs.el (c-operator-re, c-bin-tern-operators)
      (c-unary-operators, c-non-after-{}-operators, c-non-after-{}-ops-re): New lang
      consts and vars.
    • Eli Zaretskii's avatar
      Fix minor compilation problems on MS-Windows · 96e67236
      Eli Zaretskii authored
      * src/w32fns.c (Fdefault_printer_name): Fix size of local
      * src/image.c [WINDOWSNT]: Test __MINGW_MAJOR_VERSION as well
      to shut up compiler warnings.
    • Mattias Engdegård's avatar
      Fix various Calc date conversions (bug#36822) · 4ce9c6d0
      Mattias Engdegård authored
      * lisp/calc/calc-forms.el (math-absolute-from-gregorian-dt):
      Rewrite in a way that I understand, and that actually seems to work.
      (math-absolute-from-julian-dt): Use Julian, not Gregorian, leap year
      rules for counting days within a year.
      (math-julian-date-beginning, math-julian-date-beginning-int):
      Change constants to be consistent with their doc strings and the code:
      use Rata Die epoch at Dec 31, 1 BC Gregorian proleptic, not Julian.
      * doc/misc/calc.texi (Date Forms): Correct difference between Julian
      Day and Rata Die.
      * test/lisp/calc/calc-tests.el (calc-test-calendar): New test.
    • 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:
      * 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
      * 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.
    • Stefan Monnier's avatar
      Move cl.el to lisp/obsolete · 1d8b5bc8
      Stefan Monnier authored
      * lisp/emacs-lisp/cl.el: Move from here...
      * lisp/obsolete/cl.el: ...to here.
      * lisp/subr.el (do-after-load-evaluation): Use "deprecated" in the
      message when loading packages from lisp/obsolete.
    • Stefan Monnier's avatar
      * lisp/mail/rfc2047.el (rfc2047-encodable-p): Don't require `message`. · 6231483b
      Stefan Monnier authored
      Use bound-and-true-p rather than requiring `message` to get
      message-posting-charset (since it defaults to nil anyway).
    • Stefan Monnier's avatar
      * lisp/mh-e: Use cl-lib · 74b097b6
      Stefan Monnier authored
      Also, use underscore prefixes and defvar in preparation for lexical binding
      * lisp/mh-e/mh-acros.el: Require cl-lib instead of cl.
      Rename all cl.el uses by adding `cl-` prefix.
      (mh-require-cl): Remove.  Not needed any more.  Remove all calls.
      (mh-defstruct): Remove.  Replace all uses with cl-defstruct.
      (mh-dlet*): New macro.
      * lisp/mh-e/mh-comp.el (mh-user-agent-compose): Fold all ignored
      optional args into the &rest arg.
      * lisp/mh-e/mh-e.el: Require cl-lib instead of using mh-require-cl.
      (mh-variants): Don't add-to-list on a local var.
      * lisp/mh-e/mh-folder.el (mh-restore-desktop-buffer): Use shorter arg
      names that don't collide with global vars.
      * lisp/mh-e/mh-mime.el (mh-insert-mime-button):
      (mh-insert-mime-security-button): Use mh-dlet*.
      * lisp/mh-e/mh-search.el (mh-swish-next-result, mh-grep-next-result)
      (mh-namazu-next-result): Use `or`.
      * lisp/mh-e/mh-thread.el (mh-thread-generate)
      (mh-thread-prune-containers): Use underscore rather than declare+ignore.
      * lisp/mh-e/mh-tool-bar.el (mh-tool-bar-define): Use mh-dlet*.
      (mh-tool-bar-define): Prefer the more precise \`...\' regexp ops.
      Prefer Elisp's `eval-and-compile` over `cl-eval-when`.
      * lisp/mh-e/mh-xface.el (mh-picon-get-image): Don't use
      mh-funcall-if-exists for ietf-drums-parse-address.
      Avoid the use of `cl-return` and hence use plain `defun`.
      Replace some `cl-loop` with `dolist`.
    • 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:
      * 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)
      * lisp/calendar/parse-time.el (parse-time-string):
      * lisp/calendar/time-date.el (make-decoded-time)
      * lisp/org/org.el (org-fix-decoded-time)
      * 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:
      * 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-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)
      Adjust to match new behavior.
    • 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:
      and refined by Stefan Monnier in:
      * 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)
      * 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)
      * 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)
      * 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:
      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).
    • Paul Eggert's avatar
      Fix minor Org timestamp inefficiencies · c6ba8100
      Paul Eggert authored
      * lisp/org/org-id.el (org-id-time-to-b36):
      Remove unnecessary ‘or’.
      * lisp/org/org.el (org-parse-time-string):
      Remove unnecessary ‘encode-time’.
  3. 05 Aug, 2019 12 commits
    • Juri Linkov's avatar
      * lisp/cus-start.el: Add :safe to display-fill-column-indicator (bug#36861) · aa624a09
      Juri Linkov authored
      (display-fill-column-indicator-character): Add :safe predicates.
    • Juri Linkov's avatar
      * lisp/frameset.el (frameset--minibufferless-last-p): Fix pcase-let. · 0c9075f0
      Juri Linkov authored
      This makes frameset sorting stable.  (Bug#36894)
    • Juri Linkov's avatar
      * lisp/dired-x.el (dired-guess-shell-alist-default): Use git when possible. · bf276b79
      Juri Linkov authored
      Check for Git backend and provide "git apply" for patch files (bug#36895).
    • Juri Linkov's avatar
      * lisp/dired.el (dired-special): Rename face from dired-socket (bug#24547). · f986269f
      Juri Linkov authored
      (dired-re-special): Rename from dired-re-socket.
    • Juri Linkov's avatar
      * lisp/isearch.el (isearch-define-mode-toggle): Ensure isearch-mode is active. · 883438ef
      Juri Linkov authored
      Call 'isearch-mode' when it's nil.  (Bug#36871)
    • Eli Zaretskii's avatar
      Fix compilation with CHECK_STRUCTS · 81b34c45
      Eli Zaretskii authored
      * src/pdumper.c (dump_hash_table): Update hash of
      HASH_Lisp_Hash_Table.  (Bug#36929)
    • Lars Ingebrigtsen's avatar
      Revert "Make `view-lossage' output of chars read from `read-char' more logical" · 0bbcd89c
      Lars Ingebrigtsen authored
      This reverts commit 1abf7687.
      This change apparently led to problems with kmacro.
    • Michael Albinus's avatar
      Improve Tramp's caching · 6c1d0d53
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-handle-add-name-to-file)
      * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory)
      (tramp-adb-handle-delete-file, tramp-adb-handle-write-region)
      (tramp-adb-handle-set-file-times, tramp-adb-handle-copy-file)
      * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
      (tramp-gvfs-handle-set-file-times, tramp-gvfs-set-file-uid-gid):
      * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file)
      * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
      (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
      (tramp-sh-handle-copy-directory, tramp-do-copy-or-rename-file)
      (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
      * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
      (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
      (tramp-smb-handle-rename-file, tramp-smb-handle-write-region):
      * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-add-name-to-file)
      (tramp-sudoedit-handle-make-symbolic-link): Do not flush all file
      properties of upper directory.
      * lisp/net/tramp-cache.el (tramp-flush-file-upper-properties):
      New defun.
      (tramp-flush-file-properties, tramp-flush-directory-properties):
      Use it.
      * test/lisp/net/tramp-tests.el (tramp-time-diff): Declare.
      (tramp--test-file-attributes-equal-p): Handle also modification
      and status change time.
    • Lars Ingebrigtsen's avatar
      Make `view-lossage' output of chars read from `read-char' more logical · 1abf7687
      Lars Ingebrigtsen authored
      * lisp/help.el (view-lossage): Use the new data format to output
      data from `read-char' and the like in a more understandable
      fashion (bug#21867).
      * src/keyboard.c (command_loop_1): Record (in recent_keys) the end
      of commands.
      (Frecent_keys): Don't include `end-of-command' in non-command outputs.
      (syms_of_keyboard): Define `end-of-command'.
    • Lars Ingebrigtsen's avatar
      save-some-buffers-default-predicate doc clarification · f1f6f20c
      Lars Ingebrigtsen authored
      * lisp/files.el (save-some-buffers-default-predicate): Clarify
      calling convention.
    • Mattias Engdegård's avatar
    • Martin Rudalics's avatar
      Fix doc-strings of 'display-buffer-*' functions (Bug#19461) · 88be35e1
      Martin Rudalics authored
      * lisp/window.el (display-buffer-in-atom-window)
      (display-buffer-in-side-window, display-buffer-record-window)
      (display-buffer-use-some-frame, display-buffer-same-window)
      (display-buffer-reuse-window, display-buffer-pop-up-frame)
      (display-buffer-pop-up-window, display-buffer-in-child-frame)
      (display-buffer-in-direction, display-buffer-below-selected)
      (display-buffer-at-bottom, display-buffer-in-previous-window)
      (display-buffer--maybe-pop-up-frame): Fix doc-strings
  4. 04 Aug, 2019 11 commits