aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/wid-edit.el (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ; Fix documentation of widget commandsEli Zaretskii11 days1-11/+11
| | | | | | | | | * doc/misc/widget.texi (Widgets and the Buffer): Fix the signatures of 'widget-forward' and 'widget-backward'. Reported by Tim Landscheidt <tim@tim-landscheidt.de>. * lisp/wid-edit.el (widget-forward, widget-backward) (widget-move): Doc fixes.
* Make tty default face show the face widget in customizeJared Finder2026-01-031-1/+4
| | | | | * lisp/wid-edit.el (widget-color-match): Allow unspecified-fg and unspecified-bg as color names.
* ; Add 2026 to copyright years.Sean Whitton2026-01-011-1/+1
|
* Improve documentation and customization of 'derived-mode' in buffer predicateJuri Linkov2025-09-271-1/+3
| | | | | | | | * doc/lispref/buffers.texi (Buffer List): * lisp/subr.el (buffer-match-p): Document that 'derived-mode' can be a list (bug#79481). * lisp/wid-edit.el (buffer-predicate): Support a list for 'derived-mode'.
* * lisp/wid-edit.el (buffer-predicate): Implement complete specification.Juri Linkov2025-09-241-3/+26
| | | | | Support all conditions of 'buffer-match-p' in the Customization UI, including recursive 'not', 'or' and 'and' (bug#79481).
* Optionally suppress recentf open file messages (bug#78666)Stephen Berman2025-06-231-6/+10
| | | | | | | | | | | | | | * etc/NEWS: Announce new user option. * lisp/recentf.el (recentf-suppress-open-file-help): New defcustom. (recentf-dialog-goto-first): Use it; otherwise, make calling 'widget-move' suppress message only for interactive recentf use. (recentf-forward, recentf-backward): New commands, wrappers around 'widget-{forward, backward}' using 'recentf-suppress-open-file-help'. (recentf-dialog): Use them in locally remapped key bindings. * lisp/wid-edit.el (widget-forward, widget-backward): Add optional argument to suppress :help-echo message and pass it to 'widget-move'.
* Remove variable aliases obsolete since Emacs 23.2Stefan Kangas2025-03-111-6/+0
| | | | | | | | | | | | | | * lisp/dired.el (dired-advertised-find-file): * lisp/simple.el (advertised-undo): * lisp/wid-edit.el (advertised-widget-backward): Remove variable aliases obsolete since Emacs 23.2. They are replaced by ':advertised-binding' properties. * lisp/arc-mode.el (archive-mode-map): * lisp/dired.el (dired-mode-map): * lisp/obsolete/landmark.el (landmark-mode-map): * lisp/play/decipher.el (decipher-mode-map): * lisp/play/gomoku.el (gomoku-mode-map): * lisp/proced.el (proced-mode-map): Don't bind above removed commands.
* * lisp/wid-edit.el (widget-get): Make faster.Mattias EngdegÄrd2025-03-031-6/+10
|
* Simplify and speed up widget-get implementationDavid Ponce2025-03-021-10/+6
| | | | | * lisp/wid-edit.el (widget-get): Simplify and speed up. Ref: https://lists.gnu.org/r/emacs-devel/2025-03/msg00010.html
* Correctly return passed value from widget-putDavid Ponce2025-03-021-1/+2
| | | | | * lisp/wid-edit.el (widget-get-indirect): Return passed value to stay consistent with old C implementation. (Bug#76664)
* Lift widget functions from C to LispStefan Kangas2025-02-281-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | In the mid-1990s, these functions were moved from Lisp to C to "improve performance". However, Moore's Law, and perhaps other improvements too, has made this rationale irrelevant. On this machine, with --native-compilation=no, I observed only a slight ~4% performance difference. For example, displaying a buffer full of widgets (e.g., 'M-x customize RET browse-url RET') takes 4ms here, meaning the performance gap is under 0.1ms. Even on less powerful machines, this difference would remain imperceptible. Given this, let's lift these functions back to to Lisp, which offers the usual benefits. We already have solid test coverage, but let's add a more focused test for 'widget-get' and 'widget-put' to be thorough. * lisp/wid-edit.el (widget-put, widget-get, widget-apply): Move to Lisp from... * src/fns.c (Fwidget_put, Fwidget_get, Fwidget_apply): ...here. (syms_of_fns): Remove defsubrs for the above functions. * test/lisp/wid-edit-tests.el (widget-test-editable-field-widget-get/put): New test.
* Avoid display bugs after editable-field widgetsMauro Aranda2025-02-261-3/+6
| | | | | | | | | | | | | * lisp/wid-edit.el (widget-specify-button): Don't add an invisible space before the button to avoid bugs that surface with the widget-field face. The Widget library is not the one that puts a :box attribute for the button face, and we can't control what library users put after editable-field widgets. (widget-specify-field): Rather, add the invisible space here, after the newline. That way, we protect whatever comes after the editable-field widget. (Bug#51550)
* Prefer incf to cl-incf in remaining filesStefan Kangas2025-02-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * admin/syncdoc-type-hierarchy.el (syncdoc-make-type-table): * admin/unidata/unidata-gen.el (unidata-gen-table-word-list): * lisp/arc-mode.el (archive--summarize-descs): * lisp/auth-source.el (auth-source-forget+): * lisp/battery.el (battery-linux-proc-acpi, battery-linux-sysfs): * lisp/calendar/parse-time.el (parse-time-tokenize): * lisp/calendar/time-date.el (decoded-time-add) (decoded-time--alter-month, decoded-time--alter-day): * lisp/cedet/semantic/ede-grammar.el (project-compile-target): * lisp/dired.el (dired-insert-set-properties): * lisp/edmacro.el (edmacro-format-keys): * lisp/epa-file.el (epa-file--replace-text): * lisp/eshell/esh-cmd.el (eshell-for-iterate): * lisp/eshell/esh-io.el (eshell-create-handles) (eshell-duplicate-handles, eshell-protect-handles) (eshell-copy-output-handle, eshell-buffered-print): * lisp/font-lock.el (font-lock-fontify-keywords-region): * lisp/help-fns.el: * lisp/ibuf-ext.el (ibuffer-generate-filter-groups) (ibuffer-insert-filter-group-before): * lisp/ibuffer.el (ibuffer-confirm-operation-on, ibuffer-map-lines): * lisp/image/image-dired-external.el (image-dired-thumb-queue-run): * lisp/image/image-dired.el (image-dired-display-thumbs) (image-dired-line-up): * lisp/imenu.el (imenu--split): * lisp/info-xref.el (info-xref-check-node, info-xref-check-all-custom): * lisp/international/quail.el (quail-insert-decode-map): * lisp/international/rfc1843.el (rfc1843-decode): * lisp/mail/ietf-drums-date.el (ietf-drums-date--tokenize-string): * lisp/mail/ietf-drums.el (ietf-drums-token-to-list): * lisp/mail/rfc2047.el (rfc2047-qp-or-base64): * lisp/mail/rfc2231.el (rfc2231-encode-string): * lisp/mail/yenc.el (yenc-decode-region): * lisp/mh-e/mh-e.el (mh-xargs): * lisp/mh-e/mh-folder.el (mh-recenter): * lisp/mh-e/mh-mime.el (mh-mime-part-index): * lisp/mh-e/mh-search.el (mh-search): * lisp/mh-e/mh-thread.el (mh-thread-current-indentation-level): * lisp/mh-e/mh-utils.el (mh-sub-folders-parse): * lisp/minibuffer.el (minibuffer--sort-by-position) (completion-pcm--pattern-point-idx): * lisp/mpc.el (mpc-cmd-find, mpc-cmd-move, mpc-select-extend) (mpc-songs-refresh, mpc-songpointer-score) (mpc-songpointer-refresh-hairy): * lisp/msb.el (msb--mode-menu-cond, msb--most-recently-used-menu) (msb--split-menus-2, msb--make-keymap-menu): * lisp/net/pop3.el (pop3-send-streaming-command): * lisp/net/puny.el (puny-encode-complex, puny-decode-string-internal): * lisp/net/shr-color.el (shr-color-hue-to-rgb): * lisp/net/soap-client.el (soap-encode-xs-complex-type) (soap-decode-xs-complex-type, soap-resolve-references-for-operation) (soap-wsdl-resolve-references): * lisp/play/5x5.el (5x5-made-move, 5x5-down, 5x5-right): * lisp/play/decipher.el (key, decipher-mode-syntax-table) (decipher-add-undo, decipher-complete-alphabet, decipher--analyze) (decipher--digram-counts, decipher--digram-total): * lisp/play/hanoi.el (hanoi-move-ring): * lisp/play/snake.el (snake-reset-game, snake-update-game): * lisp/profiler.el (profiler-calltree-depth, profiler-calltree-build-1) (profiler-calltree-build-unified) (profiler-calltree-compute-percentages): * lisp/registry.el (registry-reindex): * lisp/simple.el (completion-list-candidate-at-point): * lisp/strokes.el (strokes-xpm-to-compressed-string): * lisp/term.el (term-emulate-terminal, term--handle-colors-list): * lisp/treesit.el (treesit-node-index, treesit-indent-region): * lisp/url/url-cookie.el (url-cookie-parse-file-netscape): * lisp/url/url-dav.el (url-dav-file-name-completion): * lisp/url/url-queue.el (url-queue-setup-runners) (url-queue-run-queue): * lisp/wdired.el (wdired-finish-edit): * lisp/wid-edit.el (widget-move): * lisp/window-tool-bar.el (window-tool-bar-string): * lisp/winner.el (winner-undo): * lisp/xwidget.el (xwidget-webkit-isearch-forward) (xwidget-webkit-isearch-backward): Prefer incf to cl-incf.
* Fix bad fontification of inactive widgetsMauro Aranda2025-02-241-2/+9
| | | | | | | | | | | | * lisp/wid-edit.el (widget-specify-inactive): When a widget is already inactive, still move the overlay to the desired positions. Improve docstring. (Bug#69941) * doc/misc/widget.texi (default): Document the need to call the :deactivate function when modifying an inactive widget. * test/lisp/wid-edit-tests.el (widget-test-modification-of-inactive-widget): New test
* Fix last commit to wid-edit.elMauro Aranda2025-02-221-4/+3
| | | | | | | | | * lisp/wid-edit.el (widget-editable-list-entry-create): Don't use save-excursion when indenting. Previously, it was needed because we inserted the :entry-format string, but we don't do that anymore. (Bug#53606) https://lists.gnu.org/archive/html/emacs-devel/2025-02/msg00958.html
* Speed up widget creation (Bug#53606)Mauro Aranda2025-02-221-27/+47
| | | | | | | | * lisp/wid-edit.el (widget-default-create, widget-checklist-add-item) (widget-radio-add-item, widget-editable-list-entry-create): Don't insert format escapes into the buffer, only to delete them after. This avoids calls to delete-char and makes widget creation about 3 times faster.
* Prepare markers for insertions inside of a widgetMauro Aranda2025-02-051-2/+47
| | | | | | | | | | | | | | | Recreating child widgets without recreating the parent widget may lead to situations where the parent widget doesn't cover its children or buttons entirely anymore. This bug manifests as a faulty fontification of children or buttons, for example. (Bug#69941) * lisp/wid-edit.el (widget--prepare-markers-for-inside-insertion) (widget--prepare-markers-for-outside-insertion): New functions. (widget-default-create): Use them. * test/lisp/wid-edit-tests.el (widget-test-insertion-at-parent-markers) (widget-test-insertion-at-parent-markers-2): New tests.
* Delete all overlays that belong to an editable-fieldMauro Aranda2025-01-251-1/+9
| | | | | | | | | | * lisp/wid-edit.el (widget-specify-field): Store the end overlay that we sometimes create for an editable-field widget. (widget-field-value-delete): Make sure we delete all overlays that belong to the widget. (Bug#75646) * test/lisp/wid-edit-tests.el (widget-test-delete-field-overlays): New test.
* Merge from origin/emacs-30Eli Zaretskii2025-01-111-6/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d66b8d4becb Fix checkbox's child creation 26c5fadf474 Document that 'package-vc' doesn't support built-in packages ee61b9a050b ; Fix documentation of completion commands ce43d13593a ; Simplify admin/run-codespell fa1470d0699 ; Remove duplicated word in files.el Commentary dabaea97465 Improve checkdoc-common-verbs-wrong-voice docstring 6de2ee5663d Document string-as-{unibyte,multibyte} as obsolete in manual 7f76f872ebf Fix go-ts-mode var spec indentation (Bug#75362) 01464fc882d Add "text" as a thing in tsx-ts-mode 59c57337923 Improve doc string of 'package-delete' 313a191d047 ; * admin/MAINTAINERS: Remove Kelvin White. 002960ceabf Clarify that 'mac' line ending convention is not used on ... 4210e065648 Add language server for Odin ee1034422b0 ; Improve documentation of function-type display 1c49edc4080 Modernize "Commentary" section of files.el 505c1123e18 * INSTALL: Add advice how to invoke 'make install'. (Bug... 82e16cae9cc Improve the documentation of 'key-valid-p' # Conflicts: # etc/NEWS # lisp/progmodes/typescript-ts-mode.el
| * Fix checkbox's child creationMauro Aranda2025-01-111-6/+3
| | | | | | | | | | * lisp/wid-edit.el (widget-checklist-add-item): Swap function calls so that child is actually a widget. (Bug#72156)
| * Update copyright year to 2025Stefan Kangas2025-01-021-1/+1
| | | | | | | | Run "TZ=UTC0 admin/update-copyright".
* | Fix widget buttons when button prefix includes spaceDavid Ponce2025-01-111-4/+7
| | | | | | | | | | | | * lisp/wid-edit.el (widget-specify-button): Give the invisible space the same 'face' property as the rest of the button. (Bug#73911)
* | Update copyright year to 2025Paul Eggert2025-01-011-1/+1
| | | | | | | | Run "TZ=UTC0 admin/update-copyright".
* | ; Drop two outdated calls to 'require'Sean Whitton2024-10-241-1/+0
| | | | | | | | | | | | * lisp/emacs-lisp/backtrace.el (require): * lisp/wid-edit.el (require): Don't require subr-x. if-let, when-let and friends have all been in subr.el for a while.
* | Mark if-let and when-let obsoleteSean Whitton2024-10-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/subr.el (if-let*, when-let*, if-let, when-let): Mark if-let and when-let obsolete (bug#73853 and elsewhere). Move docstring text around so that if-let* and when-let* descriptions no longer refer to if-let and when-let. * etc/NEWS: Announce the change. * admin/admin.el (reminder-for-release-blocking-bugs): * doc/misc/erc.texi (display-buffer): * lisp/ansi-color.el (ansi-color-apply) (ansi-color--face-vec-face): * lisp/ansi-osc.el (ansi-osc-apply-on-region) (ansi-osc-hyperlink): * lisp/arc-mode.el (archive-goto-file) (archive-next-file-displayer): * lisp/auth-source-pass.el (auth-source-pass-search) (auth-source-pass--parse-data) (auth-source-pass--find-match-many): * lisp/autorevert.el (auto-revert-notify-rm-watch): * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers) (Buffer-menu-group-by-root): * lisp/calendar/parse-time.el (parse-iso8601-time-string): * lisp/cedet/pulse.el (pulse-tick): * lisp/comint.el (comint--fontify-input-ppss-flush-indirect) (comint--intersect-regions): * lisp/completion-preview.el (completion-preview--try-table) (completion-preview--capf-wrapper, completion-preview--update): * lisp/cus-edit.el (setopt--set) (custom-dirlocals-maybe-update-cons, custom-dirlocals-validate): * lisp/custom.el (load-theme): * lisp/descr-text.el (describe-char): * lisp/desktop.el (desktop--emacs-pid-running-p): * lisp/dired-x.el (menu): * lisp/dired.el (dired-font-lock-keywords) (dired-insert-directory, dired--insert-disk-space, dired-mode): * lisp/dnd.el (dnd-handle-multiple-urls): * lisp/dom.el (dom-remove-attribute): * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): * lisp/emacs-lisp/bytecomp.el (bytecomp--custom-declare): * lisp/emacs-lisp/comp-common.el (comp-function-type-spec): * lisp/emacs-lisp/comp-cstr.el (comp--all-classes) (comp-cstr-set-range-for-arithm, comp--cstr-union-1-no-mem) (comp-cstr-intersection-no-mem, comp-cstr-fixnum-p) (comp-cstr-type-p): * lisp/emacs-lisp/comp-run.el (comp-subr-trampoline-install) (native--compile-async): * lisp/emacs-lisp/comp.el (comp--get-function-cstr) (comp--function-pure-p, comp--intern-func-in-ctxt) (comp--addr-to-bb-name, comp--emit-assume, comp--maybe-add-vmvar) (comp--add-call-cstr, comp--compute-dominator-tree) (comp--dom-tree-walker, comp--ssa-rename) (comp--function-call-maybe-fold, comp--fwprop-call) (comp--call-optim-func): * lisp/emacs-lisp/edebug.el (edebug-global-prefix) (edebug-remove-instrumentation): * lisp/emacs-lisp/eieio.el (initialize-instance): * lisp/emacs-lisp/ert-x.el (ert-resource-directory): * lisp/emacs-lisp/ert.el (ert--expand-should-1) (ert-test-location, ert-write-junit-test-report) (ert-test--erts-test): * lisp/emacs-lisp/icons.el (icon-complete-spec, icon-string) (icons--create): * lisp/emacs-lisp/lisp-mode.el (lisp--local-defform-body-p): * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--make-autoload) (loaddefs-generate--parse-file): * lisp/emacs-lisp/multisession.el (multisession-edit-mode--revert, multisession-edit-value): * lisp/emacs-lisp/package-vc.el (package-vc--read-archive-data) (package-vc--version, package-vc--clone): * lisp/emacs-lisp/package.el (package--reload-previously-loaded): * lisp/emacs-lisp/pp.el (pp--insert-lisp): * lisp/emacs-lisp/subr-x.el (add-display-text-property): * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): * lisp/emacs-lisp/timer.el (run-at-time): * lisp/emacs-lisp/vtable.el (vtable-goto-table) (vtable-goto-column, vtable-update-object, vtable--insert-line) (vtable--compute-widths, vtable--make-keymap): * lisp/emacs-lisp/warnings.el (display-warning): * lisp/epa-file.el (epa-file-insert-file-contents): * lisp/epa.el (epa-show-key): * lisp/erc/erc-backend.el (erc--split-line, erc--conceal-prompt) (PRIVMSG, erc--get-isupport-entry): * lisp/erc/erc-button.el (erc-button-add-nickname-buttons) (erc--button-next): * lisp/erc/erc-common.el (erc--find-group): * lisp/erc/erc-fill.el (erc-fill, erc-fill-static) (erc-fill--wrap-escape-hidden-speaker) (erc-fill--wrap-unmerge-on-date-stamp) (erc-fill--wrap-massage-initial-message-post-clear) (erc-fill-wrap, erc-fill--wrap-rejigger-region): * lisp/erc/erc-goodies.el (erc--scrolltobottom-all) (erc--keep-place-indicator-on-window-buffer-change) (keep-place-indicator, erc--keep-place-indicator-adjust-on-clear) (erc-keep-place-move, erc--command-indicator-display): * lisp/erc/erc-ibuffer.el (erc-members): * lisp/erc/erc-join.el (erc-join--remove-requested-channel) (erc-autojoin--join): * lisp/erc/erc-networks.el (erc-networks--id-qualifying-init-parts, erc-networks--id-reload) (erc-networks--id-ensure-comparable) (erc-networks--reclaim-orphaned-target-buffers) (erc-networks--server-select): * lisp/erc/erc-nicks.el (erc-nicks-invert) (erc-nicks--redirect-face-widget-link, erc-nicks--highlight) (erc-nicks--highlight-button) (erc-nicks--list-faces-help-button-action, erc-nicks-list-faces) (erc-nicks-refresh, erc-nicks--colors-from-faces) (erc-nicks--track-prioritize) (erc-nicks--remember-face-for-track): * lisp/erc/erc-notify.el (querypoll, erc--querypoll-get-next) (erc--querypoll-on-352, erc--querypoll-send): * lisp/erc/erc-sasl.el (erc-sasl--read-password): * lisp/erc/erc-services.el (erc-services-issue-ghost-and-retry-nick): * lisp/erc/erc-speedbar.el (erc-speedbar--ensure, nickbar) (erc-speedbar-toggle-nicknames-window-lock) (erc-speedbar--compose-nicks-face): * lisp/erc/erc-stamp.el (erc-stamp--recover-on-reconnect) (erc-stamp-prefix-log-filter, erc--conceal-prompt) (erc--insert-timestamp-left, erc-insert-timestamp-right) (erc-stamp--defer-date-insertion-on-post-modify) (erc-insert-timestamp-left-and-right) (erc-stamp--redo-right-stamp-post-clear) (erc-stamp--reset-on-clear, erc-stamp--dedupe-date-stamps): * lisp/erc/erc-status-sidebar.el (bufbar) (erc-status-sidebar-prefer-target-as-name) (erc-status-sidebar-default-allsort, erc-status-sidebar-click): * lisp/erc/erc-track.el (erc-track--shortened-names-get) (erc-track--setup, erc-track--select-mode-line-face) (erc-track-modified-channels, erc-track--collect-faces-in) (erc-track--switch-buffer, erc-track--replace-killed-buffer): * lisp/erc/erc-truncate.el (erc-truncate--setup) (erc-truncate-buffer): * lisp/erc/erc.el (erc--ensure-query-member) (erc--ensure-query-members, erc--remove-channel-users-but) (erc--cusr-change-status, erc--find-mode, erc--update-modules) (erc-log-irc-protocol, erc--refresh-prompt) (erc--restore-important-text-props) (erc--order-text-properties-from-hash, erc-send-input-line) (erc-cmd-IGNORE, erc--unignore-user, erc-cmd-QUERY) (erc-cmd-BANLIST, erc--speakerize-nick) (erc--format-speaker-input-message, erc-channel-receive-names) (erc-send-current-line, erc-format-target-and/or-network) (erc-kill-buffer-function, erc-restore-text-properties) (erc--get-eq-comparable-cmd): * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias--which) (eshell-maybe-replace-by-alias): * lisp/eshell/em-glob.el (eshell-glob-convert): * lisp/eshell/em-pred.el (eshell-pred-user-or-group) (eshell-pred-file-time, eshell-pred-file-type) (eshell-pred-file-mode, eshell-pred-file-links) (eshell-pred-file-size): * lisp/eshell/em-prompt.el (eshell-forward-paragraph) (eshell-next-prompt): * lisp/eshell/esh-arg.el (eshell-resolve-current-argument): * lisp/eshell/esh-cmd.el (eshell-do-eval, eshell/which) (eshell-plain-command--which, eshell-plain-command): * lisp/eshell/esh-io.el (eshell-duplicate-handles) (eshell-protect-handles, eshell-get-target, eshell-close-target): * lisp/eshell/esh-proc.el (eshell-sentinel): * lisp/eshell/esh-var.el (eshell-parse-variable-ref) (eshell-get-variable, eshell-set-variable): * lisp/faces.el (face-at-point): * lisp/ffap.el (ffap-in-project): * lisp/filenotify.el (file-notify--rm-descriptor): * lisp/files-x.el (read-dir-locals-file) (connection-local-update-profile-variables) (connection-local-value): * lisp/files.el (file-remote-p, abbreviate-file-name) (set-auto-mode, hack-local-variables) (revert-buffer-restore-read-only): * lisp/find-dired.el (find-dired-sort-by-filename): * lisp/font-lock.el (font-lock--filter-keywords): * lisp/gnus/gnus-art.el (article-emojize-symbols): * lisp/gnus/gnus-int.el (gnus-close-server): * lisp/gnus/gnus-search.el (gnus-search-transform) (gnus-search-indexed-parse-output, gnus-search-server-to-engine): * lisp/gnus/gnus-sum.el (gnus-collect-urls, gnus-shorten-url): * lisp/gnus/gnus.el (gnus-check-backend-function): * lisp/gnus/message.el (message-send-mail): * lisp/gnus/mml.el (mml-generate-mime, mml-insert-mime-headers): * lisp/gnus/nnatom.el (nnatom--read-feed, nnatom--read-article) (nnatom--read-article-or-group-authors, nnatom--read-publish) (nnatom--read-update, nnatom--read-links): * lisp/gnus/nnfeed.el (nnfeed--read-server, nnfeed--write-server) (nnfeed--parse-feed, nnfeed--group-data, nnfeed-retrieve-article) (nnfeed-retrieve-headers, nnfeed--print-part) (nnfeed-request-article, nnfeed-request-group) (nnfeed-request-list, nnfeed--group-description) (nnfeed-request-group-description) (nnfeed-request-list-newsgroups, nnfeed-request-rename-group): * lisp/gnus/nnmh.el (nnmh-update-gnus-unreads): * lisp/help-fns.el (help-find-source) (help-fns--insert-menu-bindings, help-fns--mention-first-release) (help-fns--mention-shortdoc-groups) (help-fns--customize-variable-version) (help-fns--face-custom-version-info, describe-mode): * lisp/help-mode.el (help-make-xrefs): * lisp/help.el (help-key-description, help--describe-command): * lisp/hfy-cmap.el (htmlfontify-load-rgb-file): * lisp/ibuf-ext.el (ibuffer-jump-to-filter-group) (ibuffer-kill-filter-group, ibuffer-kill-line) (ibuffer-save-filter-groups, ibuffer-save-filters, filename) (basename, file-extension, ibuffer-diff-buffer-with-file-1) (ibuffer-mark-by-file-name-regexp) (ibuffer-mark-by-content-regexp): * lisp/ibuf-macs.el (ibuffer-aif, ibuffer-awhen): * lisp/ibuffer.el (ibuffer-mouse-toggle-mark) (ibuffer-toggle-marks, ibuffer-mark-interactive) (ibuffer-compile-format, process, ibuffer-map-lines): * lisp/image.el (image--compute-map) (image--compute-original-map): * lisp/image/exif.el (exif-parse-buffer): * lisp/image/image-converter.el (image-convert-p, image-convert) (image-converter--find-converter): * lisp/image/image-dired-util.el (image-dired-file-name-at-point): * lisp/image/image-dired.el (image-dired-track-original-file) (image-dired--on-file-in-dired-buffer) (image-dired--with-thumbnail-buffer) (image-dired-jump-original-dired-buffer) (image-dired--slideshow-step, image-dired-display-image): * lisp/image/wallpaper.el (wallpaper--init-action-kill) (wallpaper--find-setter, wallpaper--find-command) (wallpaper--find-command-args, wallpaper--x-monitor-name): * lisp/info-look.el (info-lookup-interactive-arguments) (info-complete)::(:mode): * lisp/info.el (info-pop-to-buffer, Info-read-node-name-1): * lisp/international/emoji.el (emoji--adjust-displayable-1) (emoji--add-recent): * lisp/jsonrpc.el (jsonrpc--call-deferred) (jsonrpc--process-sentinel, jsonrpc--remove): * lisp/keymap.el (keymap-local-lookup): * lisp/mail/emacsbug.el (report-emacs-bug-hook) (submit-emacs-patch): * lisp/mail/ietf-drums.el (ietf-drums-parse-addresses): * lisp/mail/mailclient.el (mailclient-send-it): * lisp/mail/rfc6068.el (rfc6068-parse-mailto-url): * lisp/mail/undigest.el (rmail-digest-parse-mixed-mime): * lisp/minibuffer.el (completion-metadata-get) (completions--after-change) (minibuffer-visible-completions--filter): * lisp/net/browse-url.el (browse-url-url-at-point) (browse-url-file-url, browse-url-emacs): * lisp/net/dbus.el (dbus-byte-array-to-string) (dbus-monitor-goto-serial): * lisp/net/dictionary.el (dictionary-search): * lisp/net/eww.el (eww--download-directory) (eww-auto-rename-buffer, eww-open-in-new-buffer, eww-submit) (eww-follow-link, eww-read-alternate-url) (eww-copy-alternate-url): * lisp/net/goto-addr.el (goto-address-at-point): * lisp/net/mailcap.el (mailcap-mime-info): * lisp/net/rcirc.el (rcirc, rcirc-connect, rcirc-send-string) (rcirc-kill-buffer-hook, rcirc-print, rcirc-when) (rcirc-color-attributes, rcirc-handler-NICK) (rcirc-handler-TAGMSG, rcirc-handler-BATCH): * lisp/net/shr.el (shr-descend, shr-adaptive-fill-function) (shr-correct-dom-case, shr-tag-a): * lisp/net/sieve.el (sieve-manage-quit): * lisp/outline.el (outline-cycle-buffer): * lisp/pcmpl-git.el (pcmpl-git--tracked-file-predicate): * lisp/proced.el (proced-auto-update-timer): * lisp/progmodes/bug-reference.el (bug-reference-try-setup-from-vc): * lisp/progmodes/c-ts-common.el (c-ts-common--fill-paragraph): * lisp/progmodes/c-ts-mode.el (c-ts-mode--preproc-offset) (c-ts-mode--anchor-prev-sibling, c-ts-mode-indent-defun): * lisp/progmodes/compile.el (compilation-error-properties) (compilation-find-file-1): * lisp/progmodes/eglot.el (eglot--check-object) (eglot--read-server, eglot-upgrade-eglot) (eglot-handle-notification, eglot--CompletionParams) (eglot-completion-at-point, eglot--sig-info) (eglot-register-capability): * lisp/progmodes/elisp-mode.el (emacs-lisp-native-compile-and-load) (elisp-eldoc-var-docstring-with-value): * lisp/progmodes/erts-mode.el (erts-mode--goto-start-of-test): * lisp/progmodes/flymake.el (flymake--update-eol-overlays) (flymake-eldoc-function): * lisp/progmodes/gdb-mi.el (gdb-breakpoints-list-handler-custom) (gdb-frame-handler): * lisp/progmodes/go-ts-mode.el (go-ts-mode-docstring) (go-ts-mode--comment-on-previous-line-p) (go-ts-mode--get-test-regexp-at-point) (go-ts-mode-test-this-file): * lisp/progmodes/grep.el (lgrep, rgrep-default-command) (grep-file-at-point): * lisp/progmodes/perl-mode.el (perl--end-of-format-p): * lisp/progmodes/php-ts-mode.el (php-ts-mode--anchor-prev-sibling, php-ts-mode--indent-defun): * lisp/progmodes/project.el (project--other-place-command) (project--find-default-from, project--transplant-file-name) (project-prefixed-buffer-name, project--remove-from-project-list) (project-prompt-project-name, project-remember-projects-under) (project--switch-project-command) (project-uniquify-dirname-transform, project-mode-line-format): * lisp/progmodes/python.el (python-font-lock-keywords-maximum-decoration) (python--treesit-fontify-union-types) (python-shell-get-process-name, python-shell-restart) (python-shell-completion-at-point, python-ffap-module-path) (python-util-comint-end-of-output-p, python--import-sources) (python-add-import, python-remove-import, python-fix-imports): * lisp/progmodes/xref.el (xref--add-log-current-defun): * lisp/repeat.el (repeat-echo-message-string): * lisp/saveplace.el (save-place-dired-hook): * lisp/server.el (server-save-buffers-kill-terminal): * lisp/shadowfile.el (shadow-make-fullname) (shadow-contract-file-name, shadow-define-literal-group): * lisp/shell.el (shell-highlight-undef-mode): * lisp/simple.el (command-completion-using-modes-p) (command-execute, file-user-uid, file-group-gid) (first-completion, last-completion, switch-to-completions): * lisp/startup.el (startup--load-user-init-file): * lisp/tab-line.el (tab-line-tabs-buffer-group-by-project): * lisp/tar-mode.el (tar-goto-file, tar-next-file-displayer): * lisp/term/android-win.el (android-encode-select-string) (gui-backend-set-selection): * lisp/term/haiku-win.el (haiku-dnd-convert-string) (haiku-select-encode-xstring, haiku-select-encode-utf-8-string): * lisp/textmodes/emacs-news-mode.el (emacs-news--buttonize): * lisp/textmodes/ispell.el (ispell-completion-at-point): * lisp/textmodes/sgml-mode.el (sgml-validate) (html-mode--complete-at-point): * lisp/textmodes/tex-mode.el (tex-recenter-output-buffer) (xref-backend-references): * lisp/thingatpt.el (thing-at-point-file-at-point) (thing-at-point-face-at-point): * lisp/thread.el (thread-list--get-status): * lisp/time.el (world-clock-copy-time-as-kill, world-clock): * lisp/touch-screen.el (touch-screen-handle-touch): * lisp/treesit.el (treesit-language-at, treesit-node-at) (treesit-node-on, treesit-buffer-root-node) (treesit-node-field-name, treesit-local-parsers-at) (treesit-local-parsers-on, treesit--cleanup-local-range-overlays) (treesit-font-lock-recompute-features) (treesit-font-lock-fontify-region, treesit-transpose-sexps) (treesit-add-log-current-defun, treesit-major-mode-setup) (treesit--explorer-refresh, treesit-install-language-grammar): * lisp/url/url.el (url-retrieve-synchronously): * lisp/vc/smerge-mode.el (smerge-diff): * lisp/vc/vc-dir.el (vc-dir): * lisp/vc/vc-dispatcher.el (vc-do-async-command): * lisp/vc/vc-git.el (vc-git-dir--branch-headers) (vc-git-dir--stash-headers, vc-git--log-edit-summary-check) (vc-git-stash-list): * lisp/vc/vc.el (vc-responsible-backend, vc-buffer-sync-fileset) (vc-clone): * lisp/visual-wrap.el (visual-wrap--apply-to-line): * lisp/wid-edit.el (widget-text) (widget-editable-list-insert-before): * lisp/window-tool-bar.el (window-tool-bar--keymap-entry-to-string): * lisp/window.el (display-buffer, display-buffer-full-frame) (window-point-context-set, window-point-context-use) (window-point-context-use-default-function): * lisp/xdg.el (xdg-current-desktop): * lisp/xwidget.el (xwidget-webkit-callback): * lisp/yank-media.el (yank-media--get-selection) (yank-media-types): * test/lisp/comint-tests.el (comint-tests/test-password-function): * test/lisp/completion-preview-tests.el (completion-preview-tests--capf): * test/lisp/cus-edit-tests.el (with-cus-edit-test): * test/lisp/erc/erc-scenarios-base-local-modules.el (-phony-sblm-): * test/lisp/erc/erc-scenarios-stamp.el (erc-scenarios-stamp--on-post-modify): * test/lisp/erc/erc-services-tests.el (erc-services-tests--asp-parse-entry): * test/lisp/erc/erc-tests.el (erc-modules--internal-property) (erc--find-mode, erc-tests--update-modules): * test/lisp/erc/resources/erc-d/erc-d-i.el (erc-d-i--parse-message): * test/lisp/erc/resources/erc-d/erc-d-t.el (erc-d-t-kill-related-buffers, erc-d-t-with-cleanup): * test/lisp/erc/resources/erc-d/erc-d-tests.el (erc-d-i--parse-message--irc-parser-tests): * test/lisp/erc/resources/erc-d/erc-d-u.el (erc-d-u--read-exchange-slowly): * test/lisp/erc/resources/erc-d/erc-d.el (erc-d--expire) (erc-d--finalize-done, erc-d--command-handle-all): * test/lisp/erc/resources/erc-scenarios-common.el (erc-scenarios-common-with-cleanup): * test/lisp/erc/resources/erc-tests-common.el (erc-tests--common-display-message) (erc-tests-common-create-subprocess): * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): * test/lisp/international/mule-tests.el (mule-cmds-tests--ucs-names-missing-names): * test/lisp/progmodes/python-tests.el (python-tests-get-shell-interpreter) (python-tests--get-interpreter-info): * test/lisp/progmodes/ruby-ts-mode-tests.el (ruby-ts-resource-file): * test/lisp/replace-tests.el (replace-tests-with-undo): * test/src/emacs-tests.el (emacs-tests--seccomp-debug): * test/src/process-tests.el (process-tests--emacs-command) (process-tests--emacs-binary, process-tests--dump-file): * test/src/treesit-tests.el (treesit--ert-test-defun-navigation): Replace use of the now-obsolete if-let and when-let.
* | Merge from origin/emacs-30Eli Zaretskii2024-09-141-1/+4
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d509a356997 Fix regression in widget-move (bug#72995) ef0276de82b ; * lisp/cus-edit.el (setopt): Doc fix. (Bug#73098) b115c2d5eba ; * lisp/minibuffer.el (completion-pcm--merge-completions... 3cda1fdc3b7 Correctly include fixed strings before a prefix wildcard ... 57d93d0259a ; * lisp/treesit.el (treesit-major-mode-setup): Doc fix. ad289f364e5 ; Improve documentation of 'easy-menu-define' 3cad7cc8dc8 Set treesit-primary-parser for c and elixir ts mode 2f243fb91d6 ; Minor doc fix in treesit.el 6a6d7925c9d Fix range handling so it works for multibyte buffer (bug#... 76faf7e6091 Revert "Read more on each call to treesit's buffer reader" c70bd0e3fe9 Fix tree-sitter indent preset prev-adaptive-prefix 272df33fb8b ; * CONTRIBUTE: Minor copyedits. 8e1187e336f Improve NEWS entries ca3932121a8 Don't fail uniquify-tests in non-version-controlled sourc... 79f68597aba ; * etc/ORG-NEWS: Fix typo. d66b70f3607 * doc/misc/auth.texi: Minor copy edits. 2c6b7b2da9f ; * admin/MAINTAINERS: Remove some entries for Artur Mala... 11e7ae3964e Fix bug#72254 # Conflicts: # etc/NEWS
| * Fix regression in widget-move (bug#72995)Stephen Berman2024-09-141-1/+4
| | | | | | | | | | | | | | * lisp/wid-edit.el (widget-move): Avoid advancing point only if it is at the start of a widget at BOB. * test/lisp/wid-edit-tests.el (widget-test-widget-move-bug72995): New test.
* | Update completion-styles defcustom for variable overridesSpencer Baugh2024-09-141-0/+24
|/ | | | | | | | | | | | | | | | In 69ec333eab0b801949d33ef5ae505addc9061793 I allowed completion-styles to contain a list of bindings. Now the 'defcustom' type also supports this. Since the type is somewhat unusual (a value in the list can be either a symbol or a list) I had to add a new widget to support it. * lisp/minibuffer.el (completion--styles-type): Update to allow setting variable overrides. (completion-styles, completion-category-overrides) (completion-pcm-leading-wildcard): Update :version. * lisp/wid-edit.el (widget-single-or-list-to-internal) (single-or-list): Add.
* Fix regressions in Customize caused by 'widget-unselected' faceStephen Berman2024-08-041-1/+4
| | | | | * lisp/wid-edit.el (widget-checklist-add-item): Don't call 'widget-specify-selected'. (Bug#72404) (Bug#72156)
* Add new face 'widget-unselected' to wid-edit.elStephen Berman2024-06-261-17/+58
| | | | | | | | | | | | * doc/misc/widget.texi (Customization): Document it. * etc/NEWS: Announce 'widget-unselected' face. * lisp/wid-edit.el (widget-unselected): New face. (widget-specify-unselected, widget-specify-selected): New functions. (widget-checkbox-action, widget-checklist-add-item) (widget-radio-add-item, widget-radio-value-set) (widget-radio-action): Use them.
* Fix tabbing between widgets (bug#70594)Stephen Berman2024-06-251-36/+34
| | | | | | | * lisp/wid-edit.el (widget-move): Don't error when tabbing in a buffer with only one active widget and 'widget-skip-inactive' enabled. Improve code by handling forward and backward movement in a single loop.
* ; Fix widget button press cancellationPo Lu2024-05-011-1/+1
| | | | | | * lisp/wid-edit.el (widget-button--check-and-call-button): Throw nil if a mouse-button-derived press is canceled. Reported by David Ponce <da_vid@orange.fr>.
* Miscellaneous fixes for Android portPo Lu2024-04-241-1/+14
| | | | | | | | | | | | | | | | * lisp/touch-screen.el (touch-screen-hold, touch-screen-drag): Clear deactivate-mark if the mark is activated to prevent undue deactivation after completion. * lisp/wid-edit.el (widget-field, widget-single-line-field): Insert specifications suitable for monochrome displays. * src/androidfns.c (Fxw_display_color_p, Fx_display_grayscale_p): Report color and/or grayscale properly. * src/image.c (image_create_bitmap_from_file) [HAVE_ANDROID]: If a file with no extension cannot be located, append .xbm and retry.
* Don't error on tabbing to a widget at BOB (bug#69943)Stephen Berman2024-04-181-2/+2
| | | | | | | | | * lisp/wid-edit.el (widget-move): Don't move backward when at beginning of buffer, and keep point on widget's left side. * test/lisp/wid-edit-tests.el (widget-test-widget-move): Test that moving to a widget at beginning of buffer does not signal a beginning-of-buffer error.
* Allow tabbing between widgets to skip inactive widgets (bug#70413)Stephen Berman2024-04-171-2/+11
| | | | | | | | | | * doc/misc/widget.texi (Widgets and the Buffer, Customization): Document it. * etc/NEWS: Announce it. * lisp/wid-edit.el (widget-skip-inactive): New user option. (widget-tabable-at): Use it.
* Fix touch screen hscroll when initiated from widgetsPo Lu2024-04-161-71/+86
| | | | | | * lisp/wid-edit.el (widget-button--check-and-call-button): Return to the position of point during the tracking loop if a touch event is canceled.
* Fix display of custom menus after putative cosmetic changePo Lu2024-03-221-8/+11
| | | | | * lisp/wid-edit.el (widget-setup): Restore version from before the previous commit.
* wid-edit.el: Cosmetic changesStefan Monnier2024-03-211-204/+159
| | | | | | | | | | | | | | | | | | | | | | | | * lisp/wid-edit.el: Use #' to quote function names. (widget--simplify-menu, widget-echo-help): Explicitly specify the lexenv to `eval`. (widget-choose, widget-get-sibling, widget-setup, widget-field-find) (widget-choice-action, widget-checklist-value-get) (widget-radio-value-create, widget-radio-value-set) (widget-radio-action, widget-editable-list-delete-at) (widget-group-value-create, widget-choice-prompt-value): Use `dolist`. (widget-convert): Hoist `(setq current` out of the ifs. (widget-convert): Hoist `(setq keys` out of the if. (widget-after-change): Hoist `(setq begin` out of the if. (widget-default-completions): Use `cond`. (widget-default-value-set): Hoist `goto-char` out of the if. (widget-choice-action): Hoist `nth` out of the if. (widget-checkbox-action): Hoist `widget-apply` out of the if. (widget-editable-list-value-create): Hoist `car` out of the if. (widget-editable-list-entry-create): Hoist `(setq child ...` out of the if. (widget-documentation-link-action): Fold `if` into `cond`. (widget-key-sequence-value-to-external): Use `key-parse`. (widget-plist-convert-option, widget-alist-convert-option): Hoist `(setq key-type` out of the if.
* (widget--allow-insertion): New macroStefan Monnier2024-03-211-78/+78
| | | | | | | * lisp/wid-edit.el (widget--allow-insertion): New macro. (widget-specify-insert, widget-insert, widget-setup) (widget-default-delete, widget-editable-list-insert-before) (widget-editable-list-delete-at): Use it.
* Merge from savannah/emacs-29Po Lu2024-01-021-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dc4e6b13296 ; Update copyright years in more files 64b37776318 ; Run set-copyright from admin.el 8e1c56ae467 ; Add 2024 to copyright years # Conflicts: # doc/misc/modus-themes.org # doc/misc/texinfo.tex # etc/NEWS # etc/refcards/ru-refcard.tex # etc/themes/modus-operandi-theme.el # etc/themes/modus-themes.el # etc/themes/modus-vivendi-theme.el # lib/alloca.in.h # lib/binary-io.h # lib/c-ctype.h # lib/c-strcasecmp.c # lib/c-strncasecmp.c # lib/careadlinkat.c # lib/cloexec.c # lib/close-stream.c # lib/diffseq.h # lib/dup2.c # lib/filemode.h # lib/fpending.c # lib/fpending.h # lib/fsusage.c # lib/getgroups.c # lib/getloadavg.c # lib/gettext.h # lib/gettime.c # lib/gettimeofday.c # lib/group-member.c # lib/malloc.c # lib/md5-stream.c # lib/md5.c # lib/md5.h # lib/memmem.c # lib/memrchr.c # lib/nanosleep.c # lib/save-cwd.h # lib/sha1.c # lib/sig2str.c # lib/stdlib.in.h # lib/strtoimax.c # lib/strtol.c # lib/strtoll.c # lib/time_r.c # lib/xalloc-oversized.h # lisp/auth-source-pass.el # lisp/emacs-lisp/lisp-mnt.el # lisp/emacs-lisp/timer.el # lisp/info-look.el # lisp/jit-lock.el # lisp/loadhist.el # lisp/mail/rmail.el # lisp/net/ntlm.el # lisp/net/webjump.el # lisp/progmodes/asm-mode.el # lisp/progmodes/project.el # lisp/progmodes/sh-script.el # lisp/textmodes/flyspell.el # lisp/textmodes/reftex-toc.el # lisp/textmodes/reftex.el # lisp/textmodes/tex-mode.el # lisp/url/url-gw.el # m4/alloca.m4 # m4/clock_time.m4 # m4/d-type.m4 # m4/dirent_h.m4 # m4/dup2.m4 # m4/euidaccess.m4 # m4/fchmodat.m4 # m4/filemode.m4 # m4/fsusage.m4 # m4/getgroups.m4 # m4/getloadavg.m4 # m4/getrandom.m4 # m4/gettime.m4 # m4/gettimeofday.m4 # m4/gnulib-common.m4 # m4/group-member.m4 # m4/inttypes.m4 # m4/malloc.m4 # m4/manywarnings.m4 # m4/mempcpy.m4 # m4/memrchr.m4 # m4/mkostemp.m4 # m4/mktime.m4 # m4/nproc.m4 # m4/nstrftime.m4 # m4/pathmax.m4 # m4/pipe2.m4 # m4/pselect.m4 # m4/pthread_sigmask.m4 # m4/readlink.m4 # m4/realloc.m4 # m4/sig2str.m4 # m4/ssize_t.m4 # m4/stat-time.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/stdio_h.m4 # m4/stdlib_h.m4 # m4/stpcpy.m4 # m4/strnlen.m4 # m4/strtoimax.m4 # m4/strtoll.m4 # m4/time_h.m4 # m4/timegm.m4 # m4/timer_time.m4 # m4/timespec.m4 # m4/unistd_h.m4 # m4/warnings.m4 # nt/configure.bat # nt/preprep.c # test/lisp/register-tests.el
| * ; Add 2024 to copyright yearsPo Lu2024-01-021-1/+1
| |
* | Enable canceling tap gesturesPo Lu2023-11-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/commands.texi (Touchscreen Events): Relate new THRESHOLD argument to touch-screen-track-tap. * lisp/button.el (push-button): * lisp/wid-edit.el (widget-button--check-and-call-button): Provide a threshold to enable canceling button presses. * lisp/touch-screen.el (touch-screen-track-tap): Enable canceling tap gestures and resuming touch sequence translation if the touch point exceeds a set threshold.
* | Avoid errors when a restricted-sexp widget is emptyMauro Aranda2023-09-161-1/+3
| | | | | | | | | | | | | | | | | | * lisp/wid-edit.el (restricted-sexp): Don't try to read an empty string when converting the current value to the external format. (Bug#63838) * test/lisp/wid-edit-tests.el (widget-test-restricted-sexp-empty-val): New test.
* | Fix and extend applying substitution in widget-chooseStephen Berman2023-09-021-9/+13
| | | | | | | | | | | | | | | | * lisp/wid-edit.el (widget-choose): Iterate only over proper lists when applying substitution (bug#64046, Message #53). With simple item definitions, apply substitution only to the item text, not to its value (bug#64046, Message #86). Apply substitution also to the widget title (bug#64046, Message #92).
* | Use ensure-list in many more placesStefan Kangas2023-08-271-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/align.el (align-region): * lisp/auth-source-pass.el (auth-source-pass--build-result-many): * lisp/auth-source.el (auth-source-ensure-strings): * lisp/calendar/appt.el (appt-disp-window): * lisp/cedet/mode-local.el (mode-local-map-mode-buffers): * lisp/cus-edit.el (custom-prompt-variable) (custom-variable-menu-create): * lisp/dired-x.el (dired-mark-extension, dired-mark-suffix): * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-info): * lisp/emacs-lisp/eieio.el (object-add-to-list): * lisp/emulation/cua-base.el (cua--M/H-key): * lisp/epg.el (epg--list-keys-1): * lisp/faces.el (read-face-name): * lisp/format.el (format-decode): * lisp/gnus/gnus-score.el (gnus-home-score-file) (gnus-all-score-files): * lisp/gnus/gnus-uu.el (gnus-uu-grab-articles): * lisp/gnus/message.el (message-make-forward-subject): * lisp/gnus/nnmairix.el (nnmairix-create-search-group): * lisp/gnus/spam.el (spam-copy-or-move-routine): * lisp/help-fns.el (describe-face): * lisp/ibuf-macs.el (define-ibuffer-filter): * lisp/international/mule-cmds.el (select-safe-coding-system): * lisp/net/imap.el (imap-send-command): * lisp/printing.el (pr-menu-get-item): * lisp/speedbar.el (speedbar-add-supported-extension) (speedbar-add-ignored-directory-regexp): * lisp/textmodes/rst.el (rst-forward-line-looking-at): * lisp/vc/ediff-util.el (ediff-other-buffer): * lisp/vc/diff.el (diff-no-select): * lisp/vc/vc-dir.el (vc-dir-mark-state-files): * lisp/wid-edit.el (widget-prompt-value): * lisp/windmove.el (windmove-default-keybindings) (windmove-display-default-keybindings) (windmove-delete-default-keybindings) (windmove-swap-states-default-keybindings): * lisp/window.el (display-buffer-reuse-mode-window): * lisp/woman.el (woman-expand-directory-path): Prefer ensure-list.
* | Specialize default-get for alist widgets (Bug#63290)Mauro Aranda2023-08-191-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/wid-edit.el (widget-list-default-get) (widget-alist-default-get): New functions. (list, alist): Use it. * test/lisp/cus-edit-tests.el (cus-edit-test-bug63290-option) (cus-edit-test-bug63290-option-2): New test options. (cus-edit-test-bug63290): New test. * test/lisp/wid-edit-tests.el (widget-test-alist-default-value-1) (widget-test-alist-default-value-2) (widget-test-alist-default-value-3) (widget-test-alist-default-value-4): New tests.
* | Update Android portPo Lu2023-08-171-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (emacs_cv_tputs_lib): Only circumvent termcap if Android windowing support is enabled. (bug#65340) * etc/PROBLEMS: Fix typo in section recouting problems with the Anonymous Pro font. * lisp/subr.el (event-start, event-end): Return the mouse position list tied to touchscreen-begin and end events. Reported by Stefan Monnier <monnier@iro.umontreal.ca>. * lisp/version.el (emacs-build-system, emacs-build-time) (emacs-repository-get-version, emacs-repository-get-branch): Bypass Android specific code on non-GUI builds running on Android. (bug#65340) * lisp/wid-edit.el (widget-event-point): Remove now redundant code.
* | Update Android portPo Lu2023-08-161-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: Test for getpwent using gl_CHECK_FUNCS_ANDROID. (bug#65319) * etc/MACHINES (Android): Mention that a non-GUI build is also possible on Android. * lisp/loadup.el: Provide for regular builds on Android. (bug#65339) * lisp/wid-edit.el (widget-event-start): Remove function, since event-start now does the same thing. (widget-button--check-and-call-button, widget-button-click): Adjust correspondingly. Reported by Stefan Monnier <monnier@iro.umontreal.ca>. * src/sysdep.c (close_output_streams): Apply workarounds for the file descriptor sanitizer on all builds where __ANDROID__ is defined, not just Android port builds. (bug#65340)
* | Merge remote-tracking branch 'origin/master' into feature/androidPo Lu2023-07-231-3/+7
|\ \
| * | Don't always toggle a choice when promptingMauro Aranda2023-07-221-1/+2
| | | | | | | | | | | | | | | * lisp/wid-edit.el (widget-choice-prompt-value): Respect the value of widget-choice-toggle. (Bug#60712)