aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Test format-time-string paddingPaul Eggert2019-12-061-0/+43
| | | | | | | | | | Adapted from tests written by Stephen Gildea. * test/src/timefns-tests.el: (format-time-string-padding-minimal-deletes-unneeded-zeros) (format-time-string-padding-minimal-retains-needed-zeros) (format-time-string-padding-spaces) (format-time-string-padding-zeros-adds-on-insignificant-side): New tests.
* Update from GnulibPaul Eggert2019-12-066-87/+82
| | | | | | | | | | | | This incorporates: 2019-12-06 nstrftime: better width support for %N, %z 2019-12-03 Avoid hassles caused by [[noreturn]] in C++ 2019-12-02 Fix mistakes in --enable-threads=isoc fixes from 2019-12-01 * admin/merge-gnulib (AVOIDED_MODULES): Avoid pthread-h. * lib/_Noreturn.h, lib/nstrftime.c, m4/gnulib-common.m4: * m4/timer_time.m4: Copy from Gnulib. * lib/gnulib.mk.in: Regenerate.
* Configure info-look.el to recognize Tramp symbolsMichael Albinus2019-12-061-0/+35
| | | | | | | | * lisp/net/tramp-integration.el (info-lookup->cache) (info-lookup->mode-value, info-lookup->other-modes) (info-lookup->topic-value, info-lookup-maybe-add-help) (info-lookup-cache): Declare. (info-look): Configure info-look.el to recognize Tramp symbols.
* Clarify documentation of functions that use the default faceEli Zaretskii2019-12-062-6/+14
| | | | | | | | | | | | * lisp/simple.el (default-font-height, default-font-width) (default-line-height): Say in the doc strings that the default face these functions use is for the currently selected frame. * doc/lispref/display.texi (Attribute Functions) (Low-Level Font): Document more clearly the dependence of the results of 'face-font', 'default-font-width', and 'default-font-height' on the frame's definition of the default face.
* Fix set-marker when the position is larger than the largest bufferEli Zaretskii2019-12-061-1/+12
| | | | | | | * src/marker.c (set_marker_internal): Handle the case where POSITION is beyond PTRDIFF_MAX, which can happen if Emacs was built --with-wide-int. Bug uncovered by the recently added overlay tests.
* Merge branch 'completion-first-difference_face'Thierry Volpiatto2019-12-061-9/+12
|\
| * Fix setting completions* faces inThierry Volpiatto2019-12-061-9/+12
| | | | | | | | | | | | | | | | `completion-pcm--hilit-commonality` so that these faces doesn't override possible already existing faces in other UIs. * lisp/minibuffer.el (completion-pcm--hilit-commonality): Use `add-face-text-property` instead of `put-text-property`.
* | * test/src/buffer-tests.el: Add loads of overlay testsAndreas Politz2019-12-051-0/+1219
| | | | | | | | | | Taken from the `feature/noverlay` branch. Suggested by Vladimir Kazanov <vekazanov@gmail.com>.
* | 2019-12-05 regexp lint fixesPaul Eggert2019-12-053-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/org/org-agenda.el (org-agenda-filter): Fix unescaped literal ‘+’ in regexp. Reported by Mattias Engdegård in: https://lists.gnu.org/r/emacs-devel/2019-12/msg00215.html * lisp/org/org.el (org-clone-subtree-with-time-shift): Fix a regexp typo that mishandled strings like ‘\1d’, reported by the same emaikl. * lisp/progmodes/verilog-mode.el (verilog-inject-inst): Omit unnecessary ‘?’ in regexp. Reported by Mattias Engdegård in: https://lists.gnu.org/r/emacs-devel/2019-12/msg00217.html
* | Another fix for :extend when :inherit is usedEli Zaretskii2019-12-051-5/+25
| | | | | | | | | | * src/xfaces.c (face_inherited_attr): Support also values of :inherit which are lists. (Bug#37774)
* | Minor copyedits of 'jit-lock-antiblink-grace's docsEli Zaretskii2019-12-052-19/+23
| | | | | | | | | | * lisp/jit-lock.el (jit-lock-antiblink-grace): * etc/NEWS (value): Reword the NEWS entry and the doc string.
* | Fix recent modifications in emacs-module-testsEli Zaretskii2019-12-052-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | * test/data/emacs-module/mod-test.c (extract_big_integer): Fix calculation of size of 'magnitude' when 'emacs_limb_t' is wider than 'unsigned long'. * test/src/emacs-module-tests.el (module--test-assertions--load-non-live-object) (module--test-assertions--call-emacs-from-gc): On MS-Windows, check also mod-test-emacs with ".exe" appended, before skipping the tests.
* | Make HIST arg of read-from-minibuffer work with buffer-local varsFederico Tedin2019-12-054-8/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/simple.el (minibuffer-history-values): New function, should be used to access the minibuffer input history variable when the minibuffer might be active. If the variable is buffer-local, the previous buffer's value will be used. (goto-history-element): Use the new function to access the minibuffer history. (minibuffer-history-isearch-wrap): Use the new function to access the minibuffer history. * src/minibuf.c (read_minibuf): Switch to previous buffer temporarily before updating history list (Bug#38317). (read-from-minibuffer): Extend documentation to mention that the result of using the command will be added to the history list by default. * doc/lispref/minibuf.texi (Minibuffer History): Mention the possibility of using a buffer-local variable as history. * etc/NEWS: Announce changes.
* | Pacify GCC 9.2.1 with recent module changesPaul Eggert2019-12-041-2/+1
| | | | | | | | | | * src/emacs-module.c (module_encode): Remove unused decl. (module_extract_big_integer): Pacify gcc -Wenum-compare.
* | Fix regex repetition of repetitionsPaul Eggert2019-12-046-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | Problems reported by Mattias Engdegård in: https://lists.gnu.org/r/emacs-devel/2019-12/msg00066.html * lisp/gnus/gnus-util.el (gnus-emacs-version): * lisp/mail/rfc2368.el (rfc2368-mailto-regexp): * lisp/net/tramp-sh.el (tramp-sh-inotifywait-process-filter): * lisp/obsolete/terminal.el (te-parse-program-and-args): * lisp/org/org-table.el (org-table-wrap-region): * lisp/progmodes/verilog-mode.el (verilog-inject-inst): Avoid repetition-of-repetition in regexp.
* | Fix small bugs introduced in commit 096be9c454Philipp Stephani2019-12-052-3/+3
| | | | | | | | | | | | * src/module-env-27.h: * src/emacs-module.c (module_make_big_integer): Use 'emacs_limb_t' instead of 'unsigned long' consistently
* | * lisp/tab-line.el: Cache the tab-line-format template.Juri Linkov2019-12-051-2/+9
| | | | | | | | | | (tab-line-format): Cache the result of tab-line-format-template in window. (tab-line-format-template): New function that returns the value to cache.
* | * lisp/windmove.el (windmove-display-new-tab): New command.Juri Linkov2019-12-052-8/+21
| | | | | | | | | | (windmove-display-default-keybindings): Bind it to '?t'. (windmove-display-in-direction): Call tab-bar-new-tab when 'dir' is 'new-tab'.
* | * lisp/tab-bar.el (tab-bar-get-buffer-tab): Move code closer to its use.Juri Linkov2019-12-051-38/+38
| |
* | * lisp/tab-bar.el (switch-to-buffer-other-tab): Use display-buffer-in-tab.Juri Linkov2019-12-052-62/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | (tab-bar--tab): Use float-time instead of integer. This improves correct detection of recent tabs switched within 1 sec. (tab-bar--current-tab, tab-bar--current-tab-index) (tab-bar--tab-index, tab-bar--tab-index-by-name) (tab-bar--tab-index-recent): Add optional arg FRAME. (tab-bar-move-tab-to-frame): Add with-selected-frame for tab-bar-close-tab. (tab-bar--reusable-frames): New function. (tab-bar-get-buffer-tab): Add index to the found tab. (display-buffer-in-tab): Use `tab-name' entry instead of `name'. Add `reusable-frames' entry. (bug#38354)
* | New jit-lock-antiblink-grace featureJoão Távora2019-12-042-1/+81
| | | | | | | | | | | | | | | | | | | | | | * lisp/jit-lock.el (jit-lock-antiblink-grace): New defcustom. (jit-lock--antiblink-line-beginning-position) (jit-lock--antiblink-string-or-comment): New variables (jit-lock--antiblink-post-command): New helper. (jit-lock-mode): Tweak post-command-hook and jit-lock-context-timer. * etc/NEWS: Mention jit-lock-antiblink-grace
* | Use new function encode_string_utf_8 for the module API, tooPhilipp Stephani2019-12-041-7/+16
| | | | | | | | | | | | * src/emacs-module.c (module_encode): Remove. (module_copy_string_contents): Use encode_string_utf_8. (syms_of_module): Define symbol 'unicode-string-p'.
* | * src/emacs-module.c: Add a few more restrictions for emacs-module.hPhilipp Stephani2019-12-041-0/+5
| |
* | Change module interface to no longer use GMP objects directly.Philipp Stephani2019-12-045-101/+406
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As described in the new comment added to emacs-module.c, using GMP directly in the module interface has significant downsides: it couples the module interface directly to the implementation and requires module authors to link their module against the same GMP library as Emacs itself, which is often difficult and an unnecessary burden. By picking a representation for the magnitude that often matches the one used by GMP, we can avoid overhead when converting from and to GMP in most cases. Loading the test module in test/data/emacs-module and evaluating (dotimes (_ 10000) (mod-test-double (* 2 most-negative-fixnum))) under Callgrind shows that on my (GNU/Linux) machine Emacs only spends 10% of the CPU time of mod-test-double in mpz_import and mpz_export combined, even though that function does little else. (By contrast, 30% is spent in allocate_pseudovector.) * src/emacs-module.h.in: Don't check EMACS_MODULE_GMP. Don't include gmp.h. Remove emacs_mpz structure. Instead, define type alias emacs_limb_t and macro EMACS_LIMB_MAX. * src/module-env-27.h: Change interface of extract_big_integer and make_big_integer to take a sign-magnitude representation instead of mpz_t. * src/emacs-module.c: Don't check EMACS_MODULE_GMP or EMACS_MODULE_HAVE_MPZ_T. Add a comment about the chosen implementation. (module_extract_big_integer, module_make_big_integer): Reimplement without using mpz_t in the interface. * doc/lispref/internals.texi (Module Values): Adapt function documentation and example. Stop mentioning GMP and EMACS_MODULE_GMP. * test/data/emacs-module/mod-test.c: Don't define EMACS_MODULE_GMP or EMACS_MODULE_HAVE_MPZ_T. (memory_full, extract_big_integer, make_big_integer): New helper functions, identical to example in the Info documentation. (Fmod_test_nanoseconds, Fmod_test_double): Adapt to new interface.
* etc/ORG-NEWS: Fix contentsBastien2019-12-041-11/+1
|
* * lisp/doc-view.el (doc-view-doc-type): Doc fix.Juanma Barranquero2019-12-041-1/+1
|
* Don't use the return value of 'push'Mattias Engdegård2019-12-041-1/+1
| | | | | | | Although 'push' returns the modified list, it isn't actually documented to do so, so don't rely on it. * lisp/emacs-lisp/rx.el (rx--translate-any): Add progn.
* ; etc/refcards/orgcard.tex: Fix headerBastien2019-12-041-1/+3
|
* Silence warnings in Org 9.3Juanma Barranquero2019-12-042-2/+11
| | | | | | | | | * lisp/org/ob-eshell.el (eshell-send-input): Declare. (eshell-last-output-start, eshell-last-output-end) (eshell-last-input-end): Defvar. * lisp/org/org-keys.el (cl-lib): Require. (org-CUA-compatible): Move up defvaralias.
* ; Update some manual xrefs for recent org changesGlenn Morris2019-12-033-3/+3
|
* ; Fix copyright years and license notices for recent org filesGlenn Morris2019-12-034-13/+19
|
* * lisp/tab-bar.el (tab-bar-move-tab-to-frame): New command (bug#38354)Juri Linkov2019-12-042-32/+65
| | | | | | (tab-bar-tabs, tab-bar--tab): Add optional arg FRAME. (tab-bar-get-buffer-tab): Funcall tab-bar-tabs-function with arg FRAME instead of using with-selected-frame.
* * lisp/gnus/message.el (message-sendmail-envelope-from): Fix typoStefan Monnier2019-12-031-1/+1
| | | | Reported by David Edmondson <dme@dme.org>.
* Update Org to 9.3Bastien2019-12-03101-26600/+34247
|
* (message-sendmail-envelope-from): Obey `mail-envelope-from` even if set laterStefan Monnier2019-12-032-8/+14
| | | | | | | * lisp/gnus/message.el (message-sendmail-envelope-from): Change default. (message--sendmail-envelope-from): New function. (message-sendmail-envelope-from): Use it. * lisp/mail/emacsbug.el (report-emacs-bug): Use it.
* * lisp/minibuffer.el (completion-pcm--optimize-pattern): New functionStefan Monnier2019-12-031-19/+35
| | | | | | | | | | | | This fixes bug#38458 where a final `point` in the pattern prevented the expected normal behavior of point moving after the completion of the final implicit `any`. (completion-pcm--find-all-completions) (completion-substring--all-completions): Use it. (completion-basic--pattern): Don't both removing "" any more. (completion-basic-try-completion): Use it as well as `completion-basic--pattern`.
* Avoid duplicated character classes in rxMattias Engdegård2019-12-032-2/+6
| | | | | | | | For example, (any digit digit) should produce "[[:digit:]]", not "[[:digit:][:digit:]]". * lisp/emacs-lisp/rx.el (rx--translate-any): Deduplicate character classes. * test/lisp/emacs-lisp/rx-tests.el (rx-any): Add test case.
* Fix incorrect GTK menus on HiDPI monitors with scaling factor > 1Tobias Bading2019-12-032-3/+7
| | | | | | | | | | | | | | | | | | | | | This should fix Bug#31223, Bug#28106, Bug#23672 as well as Ubuntu bug https://bugs.launchpad.net/ubuntu/+source/emacs25/+bug/1695228 Also fixes the formerly unscaled Y value returned by frame-monitor-workarea (and display-monitor-attributes-list). For details on why some GTK menus were empty please see thread https://lists.gnu.org/archive/html/emacs-devel/2019-11/msg01061.html * src/gtkutil.c (menubar_map_cb, xg_update_frame_menubar): Scale up req.height so that the menu bar's height is in device pixels as expected. (xg_event_is_for_menubar): Scale down rec.x and rec.y so that gtk_widget_intersect() works as intended. * src/xfns.c (Fx_display_monitor_attributes_list): Scale work.x and work.y up to be in device pixels. Copyright-paperwork-exempt: yes
* Fix typo in populating otf_capability method for HarfBuzzYAMAMOTO Mitsuharu2019-12-034-4/+4
| | | | | | | * src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]: * src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]: * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper) [HAVE_HARFBUZZ]: * src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Fix typos.
* New functions window-state-buffers and tab-bar-get-buffer-tab (bug#38354)Juri Linkov2019-12-034-2/+59
| | | | | | | | | | * lisp/window.el (window-state-buffers): New function. * lisp/tab-bar.el (tab-bar-get-buffer-tab): New function. * lisp/emacs-lisp/seq.el (seq-some): Add autoload cookie. * lisp/desktop.el (desktop-buffers-not-to-save-function): New variable. (desktop-save-buffer-p): Use it.
* Don't save/restore font-backend in framesets (bug#38442)Juanma Barranquero2019-12-021-0/+3
| | | | | * lisp/frameset.el (frameset-persistent-filter-alist): Add :never filter for `font-backend'.
* ibuf-ext.el: Fix previous changeJuanma Barranquero2019-12-021-1/+1
| | | | | | | * lisp/ibuf-ext.el (ibuffer-generate-filter-groups): Use `cl-destructuring-bind' instead of `cl-multiple-value-bind', as we don't want to assume how multiple-values are implemented, and we know a list is being returned anyway. Suggested by Stefan Monnier.
* * lisp/vc/diff-mode.el (diff-context): Set 'extend t' (bug#37774).Dmitry Gutov2019-12-021-2/+2
|
* Temporary enable transient-mark-mode for rectangle selectionMattias Engdegård2019-12-011-0/+4
| | | | | * lisp/mouse.el (mouse-drag-region-rectangle): Enable transient-mark-mode during selection (bug#38431).
* ; Auto-commit of loaddefs files.Glenn Morris2019-12-011-27/+75
|
* Suppress superfluous messages in tramp-testsMichael Albinus2019-12-013-3/+12
| | | | | | | * test/lisp/net/tramp-tests.el (tramp-test10-write-region) (tramp-test10-write-region-file-precious-flag) (tramp-test34-connection-local-variables) (tramp-test36-vc-registered): Let-bind `inhibit-message'.
* ibuffer-mark-by-content-regexp: don't depend on `cl-some'Juanma Barranquero2019-12-011-2/+3
| | | | | | * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): Use `cl-dolist' instead of `cl-some' to avoid a run-time dependency on cl-lib that triggers an unreported bug similar to bug#38430.
* ibuffer-do-isearch: don't depend on `cl-values-list' (bug#38430)Juanma Barranquero2019-12-011-5/+4
| | | | | | | * lisp/ibuf-ext.el (ibuffer-generate-filter-groups): Don't call `cl-values-list'. Our implementation of that function just checks that its argument is a list, and then returns it. In this specific case, the argument is guaranteed to be a list.
* Improved mouse rectangle selection robustness (bug#38013)Mattias Engdegård2019-11-301-5/+13
| | | | | | | | | | | Make the rectangular selection work better with display-line-numbers-mode and side-by-side windows. Also make the mouse track the text cursor in a consistent way. * lisp/mouse.el (mouse--rectangle-track-cursor): Added constant. (mouse-drag-region-rectangle): Take the line-number width into account, and use window-relative columns. Track either the cursor or rectangle corner with more care.
* * lisp/tab-line.el (tab-line-auto-hscroll): Don't let-bind buffer-local valuesJuri Linkov2019-11-301-2/+2
| | | | | | Use setq to set buffer-local values of truncate-lines and buffer-undo-list. This will prevent leaking of let-bound values to buffer-local values of the minibuffer.