1. 15 Sep, 2019 3 commits
  2. 14 Sep, 2019 11 commits
    • Paul Eggert's avatar
      Fix gc-elapsed rounding bug · 52172d23
      Paul Eggert authored
      * src/alloc.c (garbage_collect): Don’t accumulate rounding
      errors when computing gc-elapsed.
    • Paul Eggert's avatar
      Improve doc of GC thresholds · 1acc0cc9
      Paul Eggert authored
      * doc/lispref/internals.texi (Garbage Collection), etc/NEWS:
      Warn that control over GC is only approximate.
    • Bruno Félix Rezende Ribeiro's avatar
      Fix picon installation instructions in the Gnus manual · 3f43adac
      Bruno Félix Rezende Ribeiro authored
      * doc/misc/gnus.texi (Picons): Fix instructions for installing
      picons on Debian (bug#37247).
      Copyright-paperwork-exempt: yes
    • Basil L. Contovounesios's avatar
      Fix fileless eww form submission · c6d81434
      Basil L. Contovounesios authored
      * lisp/net/eww.el (eww-submit): Ignore file inputs with no
      associated file name (bug#36520).
    • Lars Ingebrigtsen's avatar
      Add default foreground colours to SVG images · 5a0ab88c
      Lars Ingebrigtsen authored
      * lisp/net/shr.el (svg--wrap-svg): Add a default foreground colour
      to SVG images (bug#37159).  This helps with images like the ones
      in https://en.wikipedia.org/wiki/Banach_fixed-point_theorem that
      specify no foreground or background colours.
      (shr-parse-image-data): Use it.
    • Lars Ingebrigtsen's avatar
      Make eww more liberal when interpreting some invalid HTML · 568f1488
      Lars Ingebrigtsen authored
      * lisp/net/eww.el (eww--preprocess-html): New function (bug#37009)
      to be more lenient with invalid HTML and translate common invalid
      HTML like "a <= b" into "a &lt;= b" to be more liberal in what we
      accept before parsing.
      (eww-display-html): Use it.
      (eww-readable): Ditto.
    • Eli Zaretskii's avatar
    • Tobias Zawada's avatar
      Add a debug declaration to widget-specify-insert · 5f7531f9
      Tobias Zawada authored
      * lisp/wid-edit.el (widget-specify-insert): Add a debug
      declaration (bug#37368).
      Copyright-paperwork-exempt: yes
    • Eli Zaretskii's avatar
      ; * etc/NEWS: Fix last change. · 53a1a29b
      Eli Zaretskii authored
    • Federico Tedin's avatar
      Allow gamegrid-add-score to treat lower scores as better. · 36bf5534
      Federico Tedin authored
      * lisp/play/gamegrid.el (gamegrid-add-score): Add 'reverse' parameter.
      (gamegrid-add-score-with-update-game-score): Add 'reverse' parameter.
      (gamegrid-add-score-with-update-game-score-1): Add 'reverse'
      parameter.  Pass on "-r" argument to update-game-score.
      (gamegrid-add-score-insecure): Add 'reverse' parameter, reverse scores
      when it's non-nil.  (Bug#36867)
      * etc/NEWS: Announce the change.
    • Paul Eggert's avatar
      Improve gc-cons-percentage calculation · bac66302
      Paul Eggert authored
      The old calculation relied on a hodgpodge of partly updated GC
      stats to find a number to multiply gc-cons-percentage by.
      The new one counts data found by the previous GC, plus half of
      the data allocated since then; this is more systematic albeit
      still ad hoc.
      * src/alloc.c (consing_until_gc, gc_threshold, consing_threshold):
      Now EMACS_INT, not intmax_t.
      (HI_THRESHOLD): New macro.
      (tally_consing): New function.
      (make_interval, allocate_string, allocate_string_data)
      (make_float, free_cons, allocate_vectorlike, Fmake_symbol): Use it.
      (allow_garbage_collection, inhibit_garbage_collection)
      (consing_threshold, garbage_collect):
      Use HI_THRESHOLD rather than INTMAX_MAX.
      (consing_threshold): New arg SINCE_GC.  All callers changed.
      (bump_consing_until_gc): Return new consing_until_gc, instead of
      nil.  All callers changed.  Don’t worry about overflow since we
      now saturate at HI_THRESHOLD.  Guess that half of
      recently-allocated objects are still alive, instead of relying on
      the previous (even less-accurate) hodgepodge.
      (maybe_garbage_collect): New function.
      (garbage_collect): Work even if a finalizer disables or enables
      memory profiling.  Do not use malloc_probe if GC reclaimed nothing.
      * src/lisp.h (maybe_gc): Call maybe_garbage_collect instead
      of garbage_collect.
  3. 13 Sep, 2019 17 commits
    • Paul Eggert's avatar
      Simplify GC statistics-gathering · e4fb98b5
      Paul Eggert authored
      * src/alloc.c (make_interval, allocate_string, make_float)
      (free_cons, Fcons, setup_on_free_list)
      (allocate_vector_from_block, Fmake_symbol):
      Do not update gcstat, since it is for statistics from the most
      recent GC, not for a partially-updated hodgepodge.
      (sweep_vectors): Update gcstat, since setup_on_free_list
      no longer does.
      (garbage_collect_1): Rename to garbage_collect and adopt its API.
      Remove the old garbage_collect, which is no longer needed.
      All callers changed.
    • Gemini Lasswell's avatar
      Don't build print-number-table unless it will be used · 0dba340d
      Gemini Lasswell authored
      There are only a few users of print-number-table, and none of them use
      it when print-circle is nil.  A couple of them used to.  print_object
      was changed in 2012-04-20 "* src/print.c (print_preprocess): Only
      check print_depth if print-circle is nil".
      byte-compile-output-docform which uses print-number-table binds
      print-circle to t before printing unless
      byte-compile-disable-print-circle is set, but that variable has been
      marked obsolete since 24.1.
      * src/print.c (print_preprocess): Assert Vprint_circle is non-nil.
      Remove code handling the case when Vprint_circle is nil.
      (print, Fprint_preprocess): Don't call print_preprocess unless
      Vprint_circle is non-nil.
      (print_object): Remove comment referencing removed code in
    • Gemini Lasswell's avatar
      Create common tests for print.c and cl-print.el · 3bd6ef40
      Gemini Lasswell authored
      * test/lisp/emacs-lisp/cl-print-tests.el
      (cl-print--test, cl-print-tests-1, cl-print-tests-2)
      (cl-print-tests-3, cl-print-tests-4, cl-print-tests-5)
      (cl-print-tests-strings, cl-print-circle, cl-print-circle-2):
      * test/src/print-tests.el (print-tests--prin1-to-string): New
      (print-tests--deftest): New macro.
      (print-hex-backslash, print-read-roundtrip, print-bignum): Define with
      print-tests--deftest and use print-tests--prin1-to-string.
      (print-tests--prints-with-charset-p): Use
      (print-tests--print-charset-text-property-default): Define with
      (print-tests-continuous-numbering, print-tests-1, print-tests-2)
      (print-tests-3, print-tests-4, print-tests-5)
      (print-tests-strings, print-circle, print-circle-2): New tests.
      (print--test, print-tests-struct): New cl-defstructs.
    • Gemini Lasswell's avatar
      Fix unnecessary hash table creation in cl-prin1 (bug#36566) · 6eaf39d2
      Gemini Lasswell authored
      cl-prin1 prints all its punctuation by passing strings to prin1.  When
      print-circle was set, print_preprocess was creating a new hash table
      for each string, causing excessive garbage collection when printing
      large Lisp objects with cl-prin1.
      * src/print.c (print_number_index): Fix typo in comment above.
      (PRINT_CIRCLE_CANDIDATE_P): Don't create print_number_table
      for top-level strings with no properties, except when
      print_continuous_numbering is on.
    • Gemini Lasswell's avatar
      Improve performance of backtrace printing (bug#36566) · 5c40c21a
      Gemini Lasswell authored
      * lisp/emacs-lisp/cl-print.el (cl-print-to-string-with-limit): Reduce
      print-level and print-length more quickly when the structure being
      printed is very large.
    • 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.
    • Stefan Kangas's avatar
    • Stefan Kangas's avatar
    • Stefan Kangas's avatar
      Remove leftover XEmacs compat code and doc fixes · 45b01f2d
      Stefan Kangas authored
      * lisp/mail/feedmail.el (top-level): Remove outdated comment.
      (feedmail-run-the-queue): Remove leftover XEmacs compat code.
      (feedmail-nuke-bcc): Doc fix.
      * lisp/emulation/viper.el (top-level, viper-mode)
      * lisp/net/rfc2104.el (top-level): Doc fix.
      * lisp/textmodes/table.el (top-level): Remove obsolete todo.
    • Stefan Kangas's avatar
      Change gui--selection-value-internal comment into doc string · 89754006
      Stefan Kangas authored
      * lisp/select.el (gui--selection-value-internal): Change comment into
      doc string.  (Bug#25528)
    • Michael Albinus's avatar
      ; Fix a typo by last commit · 8af6b3ef
      Michael Albinus authored
    • Michael Albinus's avatar
      ; Add traces in shadowfile.el · 89a63c91
      Michael Albinus authored
    • Michael Albinus's avatar
      Fix problems in tramp-test33-environment-variables · 8806c196
      Michael Albinus authored
      * test/lisp/net/tramp-tests.el (tramp-test33-environment-variables):
      Use ${parameter:-word} construct.  Remove PS1 entry from
      "printenv" output.
      (tramp--test-check-files): Use "printenv".
    • Michael Albinus's avatar
      Make recent Tramp patch work for tramp-archive.el · d8c7bf66
      Michael Albinus authored
      * lisp/net/tramp.el (tramp-connectable-p): Make it work also for
    • Eli Zaretskii's avatar
      Fix assertion violations due to non-ASCII text in menus · 5940ac63
      Eli Zaretskii authored
      * src/xdisp.c (tool_bar_height, redisplay_tool_bar)
      (display_menu_bar): If the Lisp string to be displayed in the
      menu-bar or tool-bar window is multibyte, tell the display
      engine to treat it as multibyte, instead of relying on the
      initial determination by init_iterator (which is based on the
      multibyteness of the current buffer).  (Bug#37385)
    • Jack Coughlin's avatar
      Fix saving user-defined calc commands with compositions (Bug#36720) · a4c471c9
      Jack Coughlin authored
      * lisp/calc/calc-prog.el (calc-user-define-permanent): Correctly save
      the composition when the user specifies their formula by its command
      name or key.
      Copyright-paperwork-exempt: yes
    • Noam Postavsky's avatar
      Fix fill-paragraph in python docstrings (Bug#36056) · cbb8a8ad
      Noam Postavsky authored
      * lisp/progmodes/python.el (python-do-auto-fill): New function.
      (python-mode): Set it as normal-auto-fill-function, and don't set
      fill-indent-according-to-mode.  Having the latter set during
      fill-paragraph gives wrongs result, because python-indent-line doesn't
      remove indentation added by filling.
      * test/lisp/progmodes/python-tests.el (python-fill-docstring): New
  4. 12 Sep, 2019 8 commits
    • Stefan Monnier's avatar
    • Stefan Monnier's avatar
      * lisp/progmodes/sh-script.el (sh-mode-map): Don't bind `=` · 7fbabaf9
      Stefan Monnier authored
      (sh-shell-initialize-variables): Use sh--assignment-collect on
      post-self-insert-hook instead.
      (sh--assignment-collect): New function, extracted from sh-assignment.
      (sh-assignment): Use it and mark as obsolete.
    • Karl Fogel's avatar
      Add `isearch-yank-until-char' · bbadc6e0
      Karl Fogel authored
      * lisp/isearch.el (isearch-yank-until-char): New function.
        (isearch-mode-map, isearch-menu-bar-yank-map): Add it.
        (isearch-forward): Document the new binding.
      * doc/emacs/search.texi (Isearch Yanking): Document the feature.
      * etc/NEWS: Mention the above.
    • Michael Albinus's avatar
      Optimize host name completion in Tramp · 5e8d477d
      Michael Albinus authored
      * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
      * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
      * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
      * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
      * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
      * lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
      Throw `non-essential' at the beginning of the function.
      * lisp/net/tramp.el (tramp-handle-file-exists-p):
      * lisp/net/tramp-sh.el (tramp-sh-handle-file-exists-p):
      * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-exists-p):
      Run only when host is connectable.  This is due to host name
      completion, which shall be optimized.
      * lisp/net/tramp-smb.el (tramp-smb-do-file-attributes-with-stat)
      (tramp-smb-get-file-entries): Access connection buffer only after
      sending the command.
      * lisp/net/tramp.el (tramp-get-buffer, tramp-get-connection-buffer):
      New argument DONT-CREATE.
      (tramp-message): Use it.
      (tramp-get-mutex): Check, whether host is connectable.
      (tramp-file-name-handler): Set thread only when host is connectable.
      (tramp-connectable-p): Allow also VEC as argument.
      (tramp-completion-handle-file-name-completion): Do not expand directory.
    • Stefan Monnier's avatar
      * src/profiler.c: Leave `key` hashslots as Qunbound (bug#37382) · 99741550
      Stefan Monnier authored
      Now that "key == Qunbound" is used to determine if a hash table entry
      is available, we can't stash pre-allocated vectors into the `key` slot
      anymore, so use the `value` slot instead.
      (make_log): Pre-fill the `value` slots i.s.o `key`.
      (evict_lower_half): Stash key back into `value`, i.s.o `key`.
      (record_backtrace): Get pre-allocated vector for `value` i.s.o `key`.
    • Paul Eggert's avatar
      Fix file name encoding when open_directory signals · c19f5dcd
      Paul Eggert authored
      * src/dired.c (open_directory): New arg ENCODED_DIRNAME.
      All callers changed.  Signal error with original name,
      not encoded name.
    • Paul Eggert's avatar
      Improve error reporting for DOC file problems · ffa870fc
      Paul Eggert authored
      * src/doc.c (get_doc_string): Report all serious errors
      when DOC cannot be opened, not just fd-exhaustion errors.
    • Paul Eggert's avatar
      Fix directory-files-and-attributes race · f7228a64
      Paul Eggert authored
      * src/dired.c (directory_files_internal): Fix race condition:
      when some other process removed a file between the readdir and
      the ensuing lstat, directory-files-and-attributes would return
      a list containing nil.
  5. 11 Sep, 2019 1 commit
    • Paul Eggert's avatar
      Omit duplicate test of current directory · ef926ce3
      Paul Eggert authored
      * src/callproc.c (encode_current_directory): Remove redundant
      call to Ffile_accessible_directory_p.  The code checks the
      encoded name with file_accessible_directory_p anyway.