1. 12 Aug, 2019 3 commits
    • Michael Albinus's avatar
      Quote file names properly in Tramp · 88006cf5
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-handle-file-truename)
      * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
      * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
      * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
      * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename):
      Use `tramp-compat-directory-name-p'.
      * lisp/net/tramp.el (tramp-drop-volume-letter)
      * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
      * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
      * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
      * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-truename):
      (tramp-sudoedit-handle-make-symbolic-link): Quote properly.
      * lisp/net/tramp-compat.el (tramp-compat-file-name-quote)
      (tramp-compat-file-name-unquote): Add optional argument TOP.
    • Michael Albinus's avatar
      Handle symbolic links properly in Tramp gfvs methods · f7b5e7d7
      Michael Albinus authored
      * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-readable-p):
      Handle symbolic links.
    • Michael Albinus's avatar
      Fix caching problem in Tramp smb method · 55d82625
      Michael Albinus authored
      * lisp/net/tramp-cache.el (tramp-flush-file-upper-properties):
      Add "file-entries",
  2. 11 Aug, 2019 4 commits
  3. 10 Aug, 2019 3 commits
    • Mauro Aranda's avatar
      Fix docstrings in pong · fae1ff69
      Mauro Aranda authored
      * lisp/play/pong.el (pong-move-left pong-move-right): Refer to the
      right bats and directions of movement.  (Bug#36959)
    • Mauro Aranda's avatar
      Fix pong collision detection · 7ff96f95
      Mauro Aranda authored
      * lisp/play/pong.el (pong-update-game): If the ball hit the bat where
      bats are positioned, draw again the bat cell in the old ball
      position.  (Bug#20579).
      Also, avoid changing the direction of the ball right after hitting the
      bats, and improve the collision detection against the borders.
    • Philippe Schnoebelen's avatar
      Support bool-vectors in cl-extra.el · 65e4ebdf
      Philippe Schnoebelen authored
      * lisp/emacs-lisp/cl-extra.el (cl-coerce): Support bool-vector.
      Copyright-paperwork-exempt: yes
  4. 09 Aug, 2019 4 commits
  5. 08 Aug, 2019 6 commits
    • Mauro Aranda's avatar
      Fix octave-mode ElDoc support · cb0403d7
      Mauro Aranda authored
      * lisp/progmodes/octave.el (octave-eldoc-function-signatures): Fix the
      regexp used, so no match happens when there is no defined function FN.
      Also, tweak the regexp to support GNU Octave 4.2.x and newer.  (Bug#36459)
    • Michael Albinus's avatar
      Work on Tramp backward compatibility · f9beb2bf
      Michael Albinus authored
      * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file)
      * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
      * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file):
      * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file):
      * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
      * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
      Use `tramp-compat-directory-name-p'.
    • Michael Albinus's avatar
      Suppress false alarm in Tramp · 4084c160
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-dissect-file-name): Suppress false alarm.
    • Eli Zaretskii's avatar
      Avoid Groff hanging on MS-Windows when invoked by "M-x man" · 691790b8
      Eli Zaretskii authored
      * lisp/man.el (Man-build-man-command): On MS-Windows, redirect
      stdin of 'man' to the null device, to make sure Groff exits
      immediately after formatting the man page.
    • Mattias Engdegård's avatar
      Suppress relint errors in fortran.el · d1ec33ea
      Mattias Engdegård authored
      * lisp/progmodes/fortran.el (fortran-indent-to-column):
      Suppress relint complaints about duplicated character in skip-set;
      it's intentional and harmless.
    • Mattias Engdegård's avatar
      Fix XTerm OSC 52 selection retrieval (bug#36879) · f09dc0b8
      Mattias Engdegård authored
      When asking XTerm for the selection via OSC 52, use ST as string
      terminator in the request to get ST as terminator in the reply,
      because BEL is messy to receive in many ways.
      * lisp/term/xterm.el (gui-backend-get-selection):
      Use ST as string terminator in request and reply.
      Use a time-out when reading the reply.
  6. 07 Aug, 2019 1 commit
  7. 06 Aug, 2019 9 commits
    • 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.
    • 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’.
  8. 05 Aug, 2019 10 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)
    • 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.
    • 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