aboutsummaryrefslogtreecommitdiffstats
path: root/lisp (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove more XEmacs compat code from CEDETStefan Kangas2019-10-284-31/+10
| | | | | | | | * lisp/cedet/mode-local.el (mode-local-describe-bindings-1): * lisp/cedet/semantic/idle.el (semantic-idle-summary-out-of-context-faces): * lisp/cedet/semantic/imenu.el (semantic-imenu-rebuild-directory-indexes): * lisp/cedet/semantic/texi.el (semantic-texi-command-completion-list): Remove XEmacs compat code.
* Remove obsolete doc references to XEmacs (Bug#37899)Stefan Kangas2019-10-288-42/+11
| | | | | | | | | | | | | | | | | * doc/misc/edt.texi (Changes, Goals): * doc/misc/emacs-mime.texi (Charset Translation): * doc/misc/gnus-faq.texi (FAQ 4-15): * doc/misc/pcl-cvs.texi (Bugs): * doc/misc/srecode.texi (SRecode Minor Mode): * lisp/cedet/srecode/insert.el (srecode-insert-ask-variable-method): * lisp/follow.el: * lisp/leim/quail/ipa.el (ipa-x-sampa, ipa-kirshenbaum): * lisp/net/newsticker.el: * lisp/obsolete/iswitchb.el: * lisp/progmodes/hideshow.el: * lisp/savehist.el (savehist-file): * lisp/vc/ediff.el: Remove obsolete references to XEmacs in doc strings and comments.
* Add cert bundle path for OpenIndianaMichal Nowak2019-10-281-0/+1
| | | | | | | * lisp/net/gnutls.el (gnutls-trustfiles): Add cert bundle path for OpenIndiana (bug#37960). Copyright-paperwork-exempt: yes
* Make ERC respect erc-channel-hide-listLars Ingebrigtsen2019-10-281-4/+4
| | | | | | * lisp/erc/erc.el (erc-hide-current-message-p): Make erc-channel-hide-list work (bug#37879) by getting matching on the channel name instead of the ERC client name.
* Fix `G c' in Gnus group buffers for non-ASCII textLars Ingebrigtsen2019-10-281-9/+0
| | | | | | * lisp/gnus/gnus-cus.el (gnus-group-customize): Decoding is superfluous here -- everything is utf-8 already. (gnus-group-customize-done): Don't double-encode the text (bug#37901).
* Be more permissive when interpreting IMAP mail headersLars Ingebrigtsen2019-10-281-2/+2
| | | | | | * lisp/gnus/nnimap.el (nnimap-transform-headers): Some mail doesn't have space after the colon of the header name. Don't ignore these.
* Make <up> work in read-char-with-historyLars Ingebrigtsen2019-10-281-6/+10
| | | | | * lisp/simple.el (read-char-with-history): Tweak to make <up>/<down> also traverse the history (bug#10477).
* Reorder command-line switches in TrampKoichi Arakawa2019-10-281-2/+2
| | | | | | | | * lisp/net/tramp-sh.el (tramp-maybe-open-connection): `tramp-encoding-command-interactive' must be the last command-line switch, at least for bash. (Bug#37953) Copyright-paperwork-exempt: yes
* * lisp/tab-bar.el: Add tab-bar-history-mode with arrow buttons for navigation.Juri Linkov2019-10-281-2/+110
| | | | | | | | | | | | | * lisp/tab-bar.el (tab-bar-back-button, tab-bar-forward-button): New variables. (tab-bar-make-keymap-1): Show these buttons in tab-bar-history-mode. (tab-bar--tab): Add history-back and history-forward. (tab-bar-select-tab): Restore history-back and history-forward. (tab-bar-history-omit, tab-bar-history-back) (tab-bar-history-forward, tab-bar-history-pre-change): New variables. (tab-bar-history-pre-change, tab-bar-history-change) (tab-bar-history-back, tab-bar-history-forward) (tab-bar-history-mode): New functions.
* * lisp/emacs-lisp/seq.el: Don't require cl-lib.Stefan Monnier2019-10-272-22/+23
| | | | | (seq-subseq): Move cl-subseq's code here instyead of calling it. * lisp/emacs-lisp/cl-extra.el (cl-subseq): Use seq-subseq.
* * lisp/loadup.el: Load minibuffer after cl-genericStefan Monnier2019-10-273-10/+8
| | | | | | | | This is so minibuffer.el can make use of cl-generic * lisp/minibuffer.el (minibuffer-local-completion-map): Move switch-to-completions bindings here from... * lisp/simple.el (minibuffer-local-completion-map): ... here.
* time-stamp-time-zone: update customizationStephen Gildea2019-10-271-2/+18
| | | | | | | | | | | * time-stamp.el (time-stamp-time-zone): Support customization with an integer offset (a new possible value of the ZONE argument to format-time-string in Emacs 27). Update the safe-local-variable predicate from string-or-null-p (describing time-stamp-time-zone's domain before 2015) to new predicate time-stamp-zone-type-p (describing the current domain). * time-stamp-tests.el (time-stamp-test-helper-zone-type-p): New test.
* Fix point position after revert-buffer in tabulated-list modeEli Zaretskii2019-10-271-1/+6
| | | | | | | | | | | * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Don't use count-screen-lines, as it is unreliable when lines are truncated and the region ends before a newline (the root cause is in vertical-motion, but is very hard to fix there). Instead, use vertical-motion directly, as the problems with counting/not counting the newline that ends the region are not relevant to what we need in this function, which is simply the number of the current window line. (Bug#37941)
* Optimize lisp/icomplete.el when default completion availableJoão Távora2019-10-271-4/+2
| | | | | | | | | | | | | | | | | | | | Often, when using icomplete with icomplete-show-matches-on-no-input and commands like C-h f, icomplete-exhibit will take a long time (like several seconds) to show all the completions. However, if there is a non-nil default value, like when the C-h f is performed exactly on a function name, the minibuffer prompt will reflect that immediately. If the user immediately presses RE (icomplete-force-complete-and-exit) we take that to mean "use the default" and avoid the long wait. As an extra performance tweak, this commit also removes an unneeded call to icomplete-exhibit in icomplete-minibuffer-setup. * lisp/icomplete.el (icomplete-force-complete-and-exit): Short-circuit possibility of non-nil minibuffer-default. (icomplete-minibuffer-setup): No need to explicitly icomplete-exhibit here since icomplete-post-command-hook will call it unconditionally.
* Expand rx definitions inside (not ...)Mattias Engdegård2019-10-271-0/+3
| | | | | | | | | * lisp/emacs-lisp/rx.el (rx--translate-not): * test/lisp/emacs-lisp/rx-tests.el (rx-not, rx-def-in-not): * doc/lispref/searching.texi (Rx Constructs, Extending Rx): Allow user-defined rx constructs to be expanded inside (not ...) forms, for better composability (bug#37849).
* Some Tramp trace improvementsMichael Albinus2019-10-271-2/+2
| | | | | | | * lisp/net/tramp.el (tramp-call-process): `result' can also be nil. * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler): Improve trace format.
* Improve scoring algorithm for flex-style completionsJoão Távora2019-10-271-22/+38
| | | | | | | | | | | | | | | | | | | | The previous algorithm had two problems: it considered non-matches in the beginning and end of the string as matching "holes" and failed to penalize larger holes, making flex-score-match-tightness only effective in some corner cases. The new formula, which is described in code and in pseudo-code in the comments, fixes these problems. As a result, by default, C-h f flex now correctly bubbles up "company-search-flex-regexp" to the top, in front of "file-exists-p". With a flex-score-match-tightness smaller than 1.0, the situation is reversed. * lisp/minibuffer.el (flex-score-match-tightness): Adjust default value. Improve docstring example. (completion-pcm--hilit-commonality): Improve example. Remove unused variable. Improve algorithm.
* minibuffer.el: Remove leftover code, unused after recent changeJuanma Barranquero2019-10-271-1/+0
| | | | | * lisp/minibuffer.el (completion-pcm--hilit-commonality): Don't set point-idx.
* dired-dwim-target uses most recently visited window instead of next window.Juri Linkov2019-10-272-19/+19
| | | | | | | | | | | | | * doc/emacs/dired.texi (Operating on Files): Document behavior change. * lisp/dired-aux.el (dired-dwim-target-directories): New function. (dired-dwim-target-directory, dired-dwim-target-defaults): Use it to get the most recently used window instead of the next window (bug#35385). * lisp/dired.el (dired-dwim-target): Doc fix. * test/lisp/dired-tests.el: Remove unnecessary require and pacify byte-compiler.
* Customizable tab-line-tabs-function and new buffer-local tab-line-mode.Juri Linkov2019-10-273-18/+77
| | | | | | | | | | | | | | | | | | | | | | * lisp/tab-line.el (tab-line-tabs-function): Turn defvar into defcustom with default of tab-line-tabs-window-buffers. (tab-line-tabs-mode-buffers): New function. (tab-line-tabs-window-buffers): Rename from tab-line-tabs. (tab-line-select-tab, tab-line-switch-to-prev-tab) (tab-line-switch-to-next-tab): Handle the value tab-line-tabs-window-buffers of tab-line-tabs-function specially. (tab-line-mode): Rename from global-tab-line-mode and change scope to buffer-local. (global-tab-line-mode): New globalized-minor-mode. (tab-line-mode--turn-on): New function. (tab-line-exclude-modes): New defcustom. (tab-line-exclude): New buffer-local variable. https://lists.gnu.org/archive/html/emacs-devel/2019-10/msg00988.html * lisp/dired.el (dired-mark-pop-up): Set tab-line-exclude to nil. Don't set tab-line-format. (Bug#37699) * lisp/speedbar.el (speedbar-mode): Set tab-line-exclude to nil. Don't set tab-line-format.
* * lisp/tab-bar.el (tab-bar-switch-to-recent-tab): New command.Juri Linkov2019-10-272-4/+30
| | | | | | | | | (tab-recent): Alias to tab-bar-switch-to-recent-tab. (tab-bar--tab-index-recent): New internal function. (tab-bar-close-tab-select): Add new default option 'recent'. (tab-bar-close-tab): Handle it. * lisp/emacs-lisp/seq.el (seq-sort-by, seq-remove): Add autoload.
* * lisp/tab-bar.el (tab-bar-move-tab-to): Add force-mode-line-update.Juri Linkov2019-10-271-18/+20
| | | | (tab-bar-close-last-tab-choice, tab-bar-close-tab): Adjust option names.
* Add customization option for what do when the last tab is closedRobert Cochran2019-10-271-30/+54
| | | | | | | * lisp/tab-bar.el (tab-bar-close-last-tab-choice): New custom variable. (tab-bar-close-tab): Handle closing the last tab specially, referring to tab-bar-close-last-tab-choice.
* Restore default value of face completions-common-partJoão Távora2019-10-261-5/+6
| | | | | | | | | The previous commit titled "Rework face hints for partial-string completion styles" contained a potentially controversial backwards-incompatible change to this face's default value. * lisp/minibuffer.el (completions-common-part): Restore empty default value.
* Improve support for biblatex and cleveref macrosArash Esbati2019-10-262-5/+12
| | | | | | | | | * lisp/textmodes/reftex-cite.el (reftex-figure-out-cite-format): Extend regexp to match additional cite commands from biblatex.sty. * lisp/textmodes/reftex-dcr.el (reftex-view-crossref): Extend regexp to match additional cite commands from biblatex.sty and reference commands from cleveref.sty.
* Avoid infloop's by doing a case-sensitive matchArash Esbati2019-10-261-1/+2
| | | | | | * lisp/textmodes/reftex-ref.el (reftex-format-special): Be case-sensitive when checking the actual reference macro against \ref. This avoids infloop when \Ref is chosen.
* Merge from origin/emacs-26Glenn Morris2019-10-261-2/+3
|\ | | | | | | 55dcd32 (origin/emacs-26) Fix rcirc not to interpret nil as nickname ...
| * Fix rcirc not to interpret nil as nickname (bug#37344)Leo Liu2019-10-071-2/+3
| | | | | | | | | | * lisp/net/rcirc.el (rcirc-send-privmsg): Type check `target'. (rcirc-cmd-me): Send CTCP only when `target' exists.
| * Fix trig simplification crash (bug#33052)Mattias Engdegård2019-09-231-6/+12
| | | | | | | | | | | | | | | | * lisp/calc/calc-alg.el (calcFunc-sec, calcFunc-csc, calcFunc-cot): Check that `math-known-sin' and `math-known-tan' succeeded before using their value in arithmetic. * test/lisp/calc/calc-tests.el (calc-test-trig): Add regression tests. Backport from master.
| * Fix linear equation system solving in Calc (bug#35374)Mattias Engdegård2019-09-231-0/+6
| | | | | | | | | | | | | | | | * lisp/calc/calcalg2.el (math-try-solve-for): To solve Ax^n=0 where A is a nonzero constant and x the variable to solve for, solve x^n=0 instead of solving A=0 (which obviously fails) or something equally stupid. * test/lisp/calc/calc-tests.el (calc-test-solve-linear-system): New.
| * Backport: Fix an assignment to free variable warningTino Calancha2019-09-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | It fixes a bug introduced by commit 'query-replace-regexp undo: Update next-replacement after undo' (30c4f35a6fc8a6507930923766c3126ac1c2063f) See https://lists.gnu.org/archive/html/emacs-devel/2019-09/msg00364.html * lisp/replace.el(perform-replace): Rename variable to next-replacement-replaced. (cherry picked from commit cbc10ec71e9f189e8d6fd5c6927aec4872e0fd96)
* | Rework face hints for partial-string completion stylesJoão Távora2019-10-261-13/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't use completions-first-difference for the 'substring', 'flex' and 'partial-completion' styles, since there can be really no reasonable definition of a "first" difference there. Make completions-common-part inherit from 'underline' so that it is useful by default for all completion styles. * lisp/minibuffer.el (completions-common-part): Adjust description and change default value. (completions-first-difference): Ajust docstring. (completion-pcm--hilit-commonality): Don't use completions-first-difference.
* | Allow completion styles to adjust completion metadataJoão Távora2019-10-261-24/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit re-does the now-reverted commit with the same title. That version relied on generic functions, which cannot be used yet in files such as lisp/minibuffer.el. This version uses a symbol property completion--adjust-metadata instead. The new facility allows completion styles to have a say in metadata properties such as cycle-sort-function and display-sort-function. This is especially useful for completion styles such as 'flex', which generally produce many matches, including some potentially "obscure" ones. The default sorting strategy would often bubble the latter to the top of the list. The sorting function for 'flex' considers pre-computed matching scores and is thus much better than the default for this particular style. Additionally, it overrides the completion table's cycle-sort-function or display-sort-function properties if they exist, although it still uses them to pre-sort the result, so that they are still relevant for resolving ties. * lisp/minibuffer.el (completion--nth-completion) (completion--flex-adjust-metadata): New helper. (flex): Put completion--adjust-metadata property.
* | Revert "Allow completion styles to adjust completion metadata"João Távora2019-10-261-37/+9
| | | | | | | | | | | | | | | | | | Unbreaks the build. This reverts commit 7fc0292f5c49d11fc39853f8bc25586d54221e6a. Unfortunately, cl-defgeneric has some problems when used in lisp/minibuffer.el.
* | subr.el (run-window-configuration-change-hook): Mark obsoleteStefan Monnier2019-10-261-0/+1
| |
* | Allow completion styles to adjust completion metadataJoão Távora2019-10-261-9/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new facility, realized in the completion-adjust-metadata-for-style generic, allows completion styles to have a say in metadata properties such as cycle-sort-function and display-sort-function. This is especially useful for completion styles such as 'flex', which generally produce many matches, including some potentially "obscure" ones. The default sorting strategy would often bubble the latter to the top of the list. The sorting function for 'flex' considers pre-computed matching scores and is thus much better than the default for this particular style. Additionally, it overrides the completion table's cycle-sort-function or display-sort-function properties if they exist, although it still uses them to pre-sort the result, so that they are still relevant for resolving ties. * lisp/minibuffer.el (completion--nth-completion): Call completion-adjust-metadata-for-style. (completion-adjust-metadata-for-style): New generic. (completion-adjust-metadata-for-style 'flex): New method.
* | Improve the documentation of 'vc-tor'Eli Zaretskii2019-10-261-1/+4
| | | | | | | | | | | | | | * lisp/vc/vc-dispatcher.el (vc-tor): Add :version. Enhance the doc string. * etc/NEWS: Announce the new option.
* | New defcustom 'vc-tor'Richard Stallman2019-10-261-1/+7
| | | | | | | | | | * lisp/vc/vc-dispatcher.el (vc-tor): New user option. (vc-do-command): If vc-tor is non-nil, use 'torsocks'.
* | Adapt doc-view to latest image-mode changesTassilo Horn2019-10-251-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The functions image-scroll-down, image-scroll-up, image-next-line, and image-previous-line now return pixel values instead of multiples of character height as of commit 9c66b09950. * lisp/doc-view.el (doc-view-scroll-up-or-next-page): (doc-view-scroll-down-or-previous-page): (doc-view-next-line-or-next-page): (doc-view-previous-line-or-previous-page): (doc-view-insert-image): Adapt to image-scroll-up/down and image-next/previous-line now returning pixel values instead of multiples of character heights. Fixes bug#37874.
* | CC Mode: Fix positioning of point whilst inserting comments without non-wsAlan Mackenzie2019-10-251-9/+18
| | | | | | | | | | | | | | | | | | * lisp/progmodes/cc-cmds.el (c-guess-fill-prefix): When determining a new block comment prefix (i.e. there isn't one already there to copy), and that prefix is hard up against a comment closer, ensure there are at least two spaces before the closer. (c-indent-new-comment-line): Amend the strategy for ensuring that point isn't left hard up against the comment closer after M-j.
* | windmove.el: Suppress warnings for obsolete functionsJuanma Barranquero2019-10-251-43/+50
| | | | | | | | | | | | | | * lisp/windmove.el (windmove-constrain-loc-for-movement) (windmove-wrap-loc-for-movement, windmove-reference-loc) (windmove-other-window-loc): Wrap calls to obsolete functions in `with-suppressed-warnings'.
* | windmove.el: Mark unused code as obsoleteJuanma Barranquero2019-10-251-157/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/windmove.el (windmove-window-distance-delta) (windmove-coord-add, windmove-constrain-to-range) (windmove-constrain-around-range, windmove-frame-edges) (windmove-constrain-loc-for-movement) (windmove-wrap-loc-for-movement, windmove-reference-loc) (windmove-other-window-loc): Declare obsolete. (windmove-find-other-window, windmove-do-window-select): Doc fixes. * etc/NEWS: Document it.
* | * lisp/windmove.el (windmove-frame-edges): Simplify.Juanma Barranquero2019-10-251-9/+1
| |
* | Fix gnus-thread-hide-subtree defcustomLars Ingebrigtsen2019-10-251-1/+1
| | | | | | | | | | | | * lisp/gnus/gnus-sum.el (gnus-thread-hide-subtree): Make the "Non-nil" predicate do what it's supposed to (i.e., return non-nil on non-nil values (excepting predicates)) (bug#37916).
* | * lisp/cedet/mode-local.el: Clean up name spaceStefan Monnier2019-10-2413-81/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mostly renaming functions by adding `mode-local--` to their name and leaving an obsolete alias behind, just in case. (define-child-mode): Make obsolete. (mode-local--set-parent): Rename from set-mode-local-parent. (mode-local--new-bindings): Rename from new-mode-local-bindings. Use `obarray-make`. (mode-local--activate-bindings): Rename from activate-mode-local-bindings. (mode-local--deactivate-bindings): Rename from deactivate-mode-local-bindings. (make-obsolete-overload): Rename properties with a `mode-local--` prefix. Adjust all users. (mode-local--overload-obsoleted-by): Rename from overload-obsoleted-by. (mode-local--overload-that-obsolete): Rename from overload-that-obsolete. (mode-local--function-overload-p): Rename from function-overload-p. (mode-local-read-function): Mark obsolete. (mode-local--overload-docstring-extension): Rename from overload-docstring-extension. (mode-local--describe-overload): Rename from describe-mode-local-overload. * lisp/cedet/semantic/fw.el (semantic-install-function-overrides): Remove unused `mode` argument. * lisp/cedet/semantic/grammar-wy.el (semantic-grammar-wy--install-parser): * lisp/cedet/semantic/bovine/grammar.el (bovine-grammar-mode): * lisp/cedet/semantic/texi.el (semantic-default-texi-setup): * lisp/cedet/semantic/wisent/grammar.el (wisent-grammar-setupcode-builder) (wisent-grammar-mode): * lisp/cedet/semantic/html.el (semantic-default-html-setup): Make the `semantic-` prefix explicit to ease grep search. (html-helper-mode): Remove obsolete setting. * lisp/cedet/semantic/wisent/javascript.el: Fix js-mode/javascript-mode mixup so we don't need define-child-mode any more. (semantic-get-local-variables, semantic-ctxt-current-symbol) (semantic-tag-protection, semantic-analyze-scope-calculate-access): Use `js-mode` rather than `javascript-mode` as the mode name since that's the real mode's name. * lisp/cedet/semantic/wisent/python.el (python-2-mode, python-3-mode): Remove child declaration for non-existing modes. * lisp/cedet/srecode/map.el (srecode-map-validate-file-for-mode): Simplify.
* | rx.el: Refactor user-definition expansionMattias Engdegård2019-10-241-41/+56
| | | | | | | | | | | | * lisp/emacs-lisp/rx.el (rx--translate-not): Simplify structure. * lisp/emacs-lisp/rx.el (rx--expand-def): New. (rx--translate-symbol, rx--translate-form): Use rx--expand-def.
* | * lisp/cedet/mode-local.el: Use lexical-binding and `declare`Stefan Monnier2019-10-231-73/+69
| | | | | | | | | | | | | | | | | | | | (with-mode-local-symbol, with-mode-local, setq-mode-local) (defvar-mode-local, defconst-mode-local) (define-overloadable-function, define-mode-local-override): Use `declare` for indent and edebug specs. (xref-mode-local-find-overloadable-regexp): Simplify regexp. (mode-local-setup-edebug-specs): Delete. (edebug-setup-hook): Don't use any more.
* | * lisp/dired.el (dired-mark-pop-up): Set tab-line-format to nil (bug#37699).Juri Linkov2019-10-241-1/+2
| |
* | * lisp/tab-bar.el: Allow to specify interactively where to add a new tab.Juri Linkov2019-10-231-8/+24
| | | | | | | | | | | | | | * lisp/tab-bar.el (tab-bar-new-tab-to): Rename from tab-bar-new-tab. Add optional arg TO-INDEX. (tab-bar-new-tab): New implementation to use relative ARG. (tab-new-to): Alias to tab-bar-new-tab-to.
* | * lisp/tab-bar.el: Rename tab-bar-swap-tabs to tab-bar-move-tab-to.Juri Linkov2019-10-231-7/+10
| | | | | | | | | | | | | | * lisp/tab-bar.el (tab-bar-move-tab-to): Rename from tab-bar-swap-tabs. Change logic to push the moved tab between existing tabs. (tab-bar-move-tab): Call tab-bar-move-tab-to instead of tab-bar-swap-tabs. (tab-move-to): Rename alias from tab-swap.