1. 15 Sep, 2019 1 commit
  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 3 commits
    • 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.
    • Paul Eggert's avatar
      Improve checking of pdump load failures · 5fafa40d
      Paul Eggert authored
      * src/alloc.c (memory_full): Just report "memory exhausted" if
      failure occurs during initialization, since fancier recovery
      schemes are not likely to work when not initialized.
      * src/emacs.c (dump_error_to_string): Accept int, not enum
      pdumper_load_result, since the result might not fit in the
      enum.  Use strerror if it was derived from errno.  This is for
      better diagnostics of pdump load failures.
      (load_pdump_find_executable): Return char *, not enum.  2nd
      arg is now pointer to buffer size, rather than pointer to
      pointer to buffer.  All callers changed.  Use Emacs allocator
      since they should now be OK even during early startup.
      Use check_executable instead access, to use effective rather
      than real permissions.
      (load_pdump): Return void since callers ignore result.
      Use int where enum could be too narrow.  Use heap rather
      than stack for possibly-long string.  Prefer ptrdiff_t to
      * src/fileio.c (check_executable): Now extern.
      * src/pdumper.c (pdumper_load): Return int that may have
      errno added to it, for better diagnostics when loads fail.
    • Paul Eggert's avatar
      Reset dbus registered buses on dump load · a6daae7b
      Paul Eggert authored
      Problem reported by Leonard Lausen (Bug#37331).
      * src/dbusbind.c: Include pdumper.h.
      New function, to reset the registered buses.
      (syms_of_dbusbind): Use it, fixing a TODO.