summaryrefslogtreecommitdiff
path: root/lisp/button.el
AgeCommit message (Collapse)Author
2026-01-01; Add 2026 to copyright years.Sean Whitton
2025-03-08Prevent button.el from clearing help-echo stringsKévin Le Gouguec
In order to fix one of the issues discussed in bug#61413, i.e. 'buttonize' clobbering the help-echo property set by 'icon-string'. This is a reasonable interpretation of the button.el docstrings - "if HELP-ECHO, use that as the `help-echo' property"; conversely, if not HELP-ECHO, then do not do anything, preserving existing values for that property. * lisp/button.el (button--properties): Only add a help-echo property if HELP-ECHO is non-nil. Add an additional property for bookkeeping. (unbuttonize-region): Check for that bookkeeping property before clearing help-echo. * test/lisp/button-tests.el (button--preserve-help-echo): Validate these changes.
2025-02-01Merge branch 'scratch/no-purespace' into 'master'Stefan Kangas
2025-01-01Update copyright year to 2025Paul Eggert
Run "TZ=UTC0 admin/update-copyright".
2024-12-12Delete remaining calls to purecopyStefan Kangas
* lisp/button.el (default-button): * lisp/calendar/holidays.el (holiday-solar-holidays) (holiday-bahai-holidays, holiday-islamic-holidays) (holiday-christian-holidays, holiday-hebrew-holidays) (holiday-oriental-holidays, holiday-general-holidays): * lisp/comint.el (comint-file-name-prefix): * lisp/composite.el (unicode-category-table): * lisp/cus-face.el (custom-declare-face): * lisp/custom.el (custom-add-load, custom-add-package-version) (custom-add-version, custom-add-link, custom-declare-group) (custom-declare-variable): * lisp/dired.el (dired-listing-switches): * lisp/epa-hook.el (epa-file-name-regexp): * lisp/faces.el (x-font-regexp, x-font-regexp-head) (x-font-regexp-slant, x-font-regexp-weight, ) (set-face-attribute, set-face-documentation, face-x-resources) (face-font-registry-alternatives, face-font-family-alternatives) (term-file-prefix): * lisp/find-file.el (ff-special-constructs): * lisp/format.el (format-alist): * lisp/help.el (help-for-help): * lisp/image-file.el (image-file-name-extensions): * lisp/info.el: * lisp/isearch.el (isearch-help-for-help-internal) (search-whitespace-regexp): * lisp/jka-cmpr-hook.el (jka-compr-load-suffixes) (jka-compr-mode-alist-additions) (jka-compr-compression-info-list, jka-compr-build-file-regexp): * lisp/language/ethiopic.el (font-ccl-encoder-alist): * lisp/language/korea-util.el (default-korean-keyboard): * lisp/language/tibetan.el (tibetan-precomposition-rule-regexp) (tibetan-precomposed-regexp): * lisp/locate.el (locate-ls-subdir-switches): * lisp/lpr.el (lpr-command): * lisp/mail/rmail.el (rmail-secondary-file-regexp) (rmail-secondary-file-directory, rmail-highlighted-headers) (rmail-ignored-headers, rmail-spool-directory, rmail-file-name): * lisp/mail/sendmail.el (mail-default-directory) (mail-signature-file, mail-citation-prefix-regexp) (mail-personal-alias-file, mail-header-separator): * lisp/menu-bar.el (yank-menu): * lisp/net/eudc.el (eudc-tools-menu): * lisp/newcomment.el (comment-padding, comment-end): * lisp/obsolete/autoload.el (autoload-generate-file-autoloads): * lisp/progmodes/hideshow.el (hs-special-modes-alist): * lisp/ps-print.el (ps-page-dimensions-database): * lisp/rfn-eshadow.el (file-name-shadow-tty-properties): * lisp/shell.el (shell-dumb-shell-regexp): * lisp/simple.el (overwrite-mode-binary, overwrite-mode-textual) (mark-inactive, shell-command-switch) (next-error-overlay-arrow-position): * lisp/subr.el (package--builtin-versions, eval-after-load): * lisp/tab-bar.el ([tab-bar]): * lisp/term/pgtk-win.el (x-gtk-stock-map): * lisp/term/x-win.el (x-gtk-stock-map): * lisp/tool-bar.el ([tool-bar]): * lisp/widget.el (define-widget): Remove calls to purecopy.
2024-10-11Remove buttons when disabling 'button-mode'Robert Pluim
* lisp/button.el (button-mode): Remove all buttons when disabling. * doc/lispref/display.texi (Button Buffer Commands): Document the change. (Bug#73175)
2024-10-11Add unbuttonize-regionRobert Pluim
* doc/lispref/display.texi (Making Buttons): Document it. * lisp/button.el (unbuttonize-region): New function, removes all buttons in the specified region.
2024-01-02Merge from savannah/emacs-29Po Lu
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
2024-01-02; Add 2024 to copyright yearsPo Lu
2023-12-10; Fix typosStefan Kangas
2023-11-11Enable canceling tap gesturesPo Lu
* 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.
2023-08-31; Fix push-button when triggered by a single keypressSteven Allen
* lisp/button.el (push-button): Don't assume the event is a list, it may be a single key. (Bug#65539)
2023-07-14Merge remote-tracking branch 'origin/master' into feature/androidPo Lu
2023-07-13cl-print: Put buttons on ellipsesStefan Monnier
Currently, in *Backtrace* we have a nice behavior for cl-printed objects where they're truncated by default to a manageable size but we can click on the "..." to expand them when needed. The patch below moves that functionality to `cl-print.el` such that it can be enjoyed "everywhere" (bug#64536). It also has the benefit of simplifying the code since `backtrace.el` had to look for ellipses in order to add buttons to them, whereas now we can put the ellipses right when we write them. * lisp/emacs-lisp/cl-print.el (cl-print-object-contents): Improve docstring. (cl-print-expand-ellipsis-function): New var. (cl-print--default-expand-ellipsis): New function. (cl-print-expand-ellipsis): New command. (cl-print-insert-ellipsis): Allow nil instead of 0 to mean "this elides the whole object". (cl-print-ellipsis): Move button type from `backtrace.el`. (cl-print-propertize-ellipsis): Put a button. (cl-print--expand-ellipsis): Rename from `cl-print-expand-ellipsis`. (cl-print-to-string-with-limit): Allow new value t for `limit`. * lisp/emacs-lisp/backtrace.el (backtrace--font-lock-keywords): Simplify. (backtrace--match-ellipsis-in-string): Delete function. (backtrace--change-button-skip): Adjust to new button type name. (backtrace--expand-ellipsis): New function, extracted from `backtrace-expand-ellipsis`. (backtrace-expand-ellipsis): Delete function. (backtrace-ellipsis): Move button type to `cl-print.el`. (backtrace--print-to-string): Don't look for cl-print ellipses any more. (backtrace-mode): Use `backtrace--expand-ellipsis`. * lisp/ielm.el (ielm--expand-ellipsis): New function. (inferior-emacs-lisp-mode): Use it to fill the data when expanded. * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-check-ellipsis-expansion) (cl-print-tests-check-ellipsis-expansion-rx): Adjust to new internal function name.
2023-01-19Update Android portPo Lu
* .gitignore: Add new files. * INSTALL.android: Explain how to build Emacs for ancient versions of Android. * admin/merge-gnulib (GNULIB_MODULES): Add getdelim. * build-aux/config.guess (timestamp, version): * build-aux/config.sub (timestamp, version): Autoupdate. * configure.ac (BUILD_DETAILS, ANDROID_MIN_SDK): (ANDROID_STUBIFY): Allow specifying CFLAGS via ANDROID_CFLAGS. Add new configure tests for Android API version when not explicitly specified. * doc/emacs/android.texi (Android): Add reference to ``Other Input Devices''. (Android File System): Remove restrictions on directory-files on the assets directory. * doc/emacs/emacs.texi (Top): Add Other Input Devices to menu. * doc/emacs/input.texi (Other Input Devices): New node. * doc/lispref/commands.texi (Touchscreen Events): Document changes to touchscreen input events. * doc/lispref/frames.texi (Pop-Up Menus): Likewise. * etc/NEWS: Announce changes. * java/Makefile.in: Use lib-src/asset-directory-tool to generate an `directory-tree' file placed in /assets. * java/debug.sh: Large adjustments to support Android 2.2 and later. * java/org/gnu/emacs/EmacsContextMenu.java (inflateMenuItems): * java/org/gnu/emacs/EmacsCopyArea.java (perform): * java/org/gnu/emacs/EmacsDialog.java (toAlertDialog): * java/org/gnu/emacs/EmacsDrawLine.java (perform): * java/org/gnu/emacs/EmacsDrawRectangle.java (perform): * java/org/gnu/emacs/EmacsDrawable.java (EmacsDrawable): * java/org/gnu/emacs/EmacsFillPolygon.java (perform): * java/org/gnu/emacs/EmacsFillRectangle.java (perform): * java/org/gnu/emacs/EmacsGC.java (EmacsGC): * java/org/gnu/emacs/EmacsPixmap.java (EmacsPixmap): (destroyHandle): * java/org/gnu/emacs/EmacsSdk7FontDriver.java (draw): Avoid redundant canvas saves and restores. * java/org/gnu/emacs/EmacsService.java (run): * java/org/gnu/emacs/EmacsView.java (EmacsView): (handleDirtyBitmap): * java/org/gnu/emacs/EmacsWindow.java (changeWindowBackground) (EmacsWindow): Make compatible with Android 2.2 and later. * lib-src/Makefile.in (DONT_INSTALL): Add asset-directory-tool on Android.:(asset-directory-tool{EXEEXT}): New target. * lib-src/asset-directory-tool.c (struct directory_tree, xmalloc) (main_1, main_2, main): New file. * lib, m4: Merge from gnulib. This will be reverted before merging to master. * lisp/button.el (button-map): (push-button): * lisp/frame.el (display-popup-menus-p): Improve touchscreen support. * lisp/subr.el (event-start): (event-end): Handle touchscreen events. * lisp/touch-screen.el (touch-screen-handle-timeout): (touch-screen-handle-point-update): (touch-screen-handle-point-up): (touch-screen-track-tap): (touch-screen-track-drag): (touch-screen-drag-mode-line-1): (touch-screen-drag-mode-line): New functions. ([mode-line touchscreen-begin]): ([bottom-divider touchscreen-begin]): Bind new events. * lisp/wid-edit.el (widget-event-point): (widget-keymap): (widget-event-start): (widget-button--check-and-call-button): (widget-button-click): Improve touchscreen support. * src/alloc.c (make_lisp_symbol): Avoid ICE on Android NDK GCC. (mark_pinned_symbols): Likewise. * src/android.c (struct android_emacs_window): New struct. (window_class): New variable. (android_run_select_thread): Add workaround for Android platform bug. (android_extract_long, android_scan_directory_tree): New functions. (android_file_access_p): Use those functions instead. (android_init_emacs_window): New function. (android_init_emacs_gc_class): Update signature of `markDirty'. (android_change_gc, android_set_clip_rectangles): Tell the GC whether or not clip rects were dirtied. (android_swap_buffers): Do not look up method every time. (struct android_dir): Adjust for new directory tree lookup. (android_opendir, android_readdir, android_closedir): Likewise. (android_four_corners_bilinear): Fix coding style. (android_ftruncate): New function. * src/android.h: Update prototypes. Replace ftruncate with android_ftruncate when necessary. * src/androidterm.c (handle_one_android_event): Pacify GCC. Fix touch screen tool bar bug. * src/emacs.c (using_utf8): Fix compilation error. * src/fileio.c (Ffile_system_info): Return Qnil when fsusage.o is not built. * src/filelock.c (BOOT_TIME_FILE): Fix definition for Android. * src/frame.c (Fx_parse_geometry): Fix uninitialized variable uses. * src/keyboard.c (lispy_function_keys): Fix `back'. * src/menu.c (x_popup_menu_1): Handle touch screen events. (Fx_popup_menu): Document changes. * src/sfnt.c (main): Improve tests. * src/sfntfont-android.c (sfntfont_android_put_glyphs): Fix minor problem. (init_sfntfont_android): Check for HAVE_DECL_ANDROID_GET_DEVICE_API_LEVEL. * src/sfntfont.c (struct sfnt_font_desc): New fields `adstyle' and `languages'. (sfnt_parse_style): Append tokens to adstyle. (sfnt_parse_languages): New function. (sfnt_enum_font_1): Parse supported languages and adstyle. (sfntfont_list_1): Handle new fields. (sfntfont_text_extents): Fix uninitialized variable use. (syms_of_sfntfont, mark_sfntfont): Adjust accordingly.
2023-01-01; Add 2023 to copyright years.Eli Zaretskii
2022-07-28Add support for user-customizable iconsLars Ingebrigtsen
* doc/emacs/custom.texi (Specific Customization): Mention it. * doc/emacs/display.texi (Icons): New node. * doc/lispref/display.texi (Icons): New node. * lisp/button.el (buttonize): (button--properties, buttonize-region): Allow not overriding faces. * lisp/cus-edit.el (custom-save-all): Save icons. (custom-icon): New widget. (custom-icon-value-create, custom-toggle-hide-icon) (custom--icons-widget-value, custom-icon-set): Helper functions for the widget. (customize-icon): Main command. (custom-icon-state-set, custom-icon-state): Helper functions. (custom-theme-set-icons): Function to be used by theme writers. (custom-set-icons): Function to be used in .emacs. (custom-save-icons): New function. * lisp/custom.el (custom-push-theme): Add icons. * lisp/emacs-lisp/icons.el: New file. * test/lisp/emacs-lisp/icons-tests.el: Add some tests.
2022-04-16Fix button-buffer-map binding errorLars Ingebrigtsen
* lisp/button.el (button-buffer-map): Fix error in map rewriting in previous commit.
2022-04-16Crosslink some buttonize function doc stringsLars Ingebrigtsen
* lisp/button.el (buttonize-region, buttonize): Crosslink doc strings for discoverability.
2022-04-16Bind TAB and <backtab> on buttonsLars Ingebrigtsen
* lisp/button.el (button-map): Inherit from 'button-buffer-map'.
2022-04-16Add new function buttonize-regionLars Ingebrigtsen
* lisp/button.el (buttonize-region): New function. (button--properties): Factored out. (buttonize): Use it.
2022-01-01Merge from origin/emacs-28Eli Zaretskii
836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year. 86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year ebe8772f65 ; Minor fixes related to copyright years 23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye... 8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t. 19dcb237b5 ; Add 2022 to copyright years. # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex # lib/cdefs.h # lisp/erc/erc-dcc.el # lisp/erc/erc-imenu.el # lisp/erc/erc-replace.el # lisp/image-dired.el # lisp/progmodes/xref.el # m4/alloca.m4 # m4/byteswap.m4 # m4/errno_h.m4 # m4/getopt.m4 # m4/gnulib-common.m4 # m4/inttypes.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/sys_socket_h.m4
2022-01-01; Add 2022 to copyright years.Eli Zaretskii
2021-11-29Do not buttonize key bindings outside of *Help* buffersGregory Heytings
* etc/NEWS: Mention the new variable. * lisp/apropos.el (apropos-describe-plist): Bind the new variable (bug#52053). * lisp/button.el (button-describe): Bind the new variable. * lisp/help-fns.el (describe-function, describe-variable) (describe-face, describe-symbol, describe-syntax) (describe-categories, describe-keymap, describe-mode) (describe-widget): Bind the new variable. * lisp/help-macro.el (make-help-screen): Bind the new variable. * lisp/help.el (help-buffer-under-preparation): New variable that is bound to t by commands that create a *Help* buffer. (substitute-command-keys): Use the new variable: help-link-key-to-documentation is supposed to have an effect only "in *Help* buffers". Fixes bug#52053. (view-lossage, describe-bindings, describe-key): Bind the new variable. * lisp/repeat.el (describe-repeat-maps): Bind the new variable. * lisp/international/mule-cmds.el (describe-input-method) (describe-language-environment): Bind the new variable. * lisp/international/mule-diag.el (describe-character-set) (describe-coding-system, describe-font, describe-fontset) ((list-fontsets): Bind the new variable.
2021-11-06Make the lambda/closure buttons in `C-h b' say what they doLars Ingebrigtsen
* lisp/button.el (buttonize): Add a help-echo property. * lisp/help.el (help--describe-command): Say what the lambda/closure buttons do.
2021-11-06Add mouse-face to buttonizeLars Ingebrigtsen
* lisp/button.el (buttonize): Add the highlight mouse-face.
2021-11-04Rename button-buttonize to buttonizeLars Ingebrigtsen
* lisp/help.el (help--describe-command): * lisp/emacs-lisp/memory-report.el (memory-report--buffers): * lisp/button.el (button-buttonize): * doc/lispref/display.texi (Making Buttons): Rename button-buttonize to just buttonize and adjust callers.
2021-10-13Mark all def* functions that should indent as `defun'Lars Ingebrigtsen
* lisp/abbrev.el (define-abbrev): (define-abbrev-table): Mark all functions that have names that start with "def" that should indent according to the current heuristics (bug#43329). * lisp/autoinsert.el (define-auto-insert): * lisp/button.el (define-button-type): * lisp/subr.el (define-key-after): (define-mail-user-agent): (define-keymap): * lisp/widget.el (define-widget): * lisp/emacs-lisp/package.el (define-package): * lisp/international/mule-cmds.el (define-char-code-property): * lisp/international/mule.el (define-charset): (define-coding-system): (define-translation-table): (define-translation-hash-table):
2021-09-22; More minor stylistic fixes found by checkdocStefan Kangas
2021-07-20* lisp/button.el (button-map): Bind [follow-link] to 'mouse-face' (bug#49626)Juri Linkov
2021-03-11; Fix some typos.Basil L. Contovounesios
2021-01-01Update copyright year to 2021Paul Eggert
Run "TZ=UTC0 admin/update-copyright".
2020-12-11button-buttonize doc string clarificationLars Ingebrigtsen
* lisp/button.el (button-buttonize): Clarify what happens when DATA isn't present.
2020-12-11Add a new function `button-buttonize'Lars Ingebrigtsen
* doc/lispref/display.texi (Manipulating Buttons): Document it. * lisp/button.el (button-buttonize): Implement it.
2020-10-16Substitute command keys in button help-echo valuesBasil L. Contovounesios
* lisp/button.el (button--help-echo): Pass resulting string through substitute-command-keys for consistency with show-help-function. * test/lisp/button-tests.el (button-tests--map): New test keymap. (button--help-echo-string, button--help-echo-form) (button--help-echo-function): Use it to test command key substitution in help-echo strings (bug#43070).
2020-09-09Make the button navigation commands available via a minor modeLars Ingebrigtsen
* lisp/button.el (button-mode): New minor mode. * doc/lispref/display.texi (Button Buffer Commands): Mention it.
2020-08-07Add some documentation for widget-describe and button-describeLars Ingebrigtsen
* doc/emacs/help.texi (Key Help): Document button-describe and widget-describe. * lisp/button.el (push-button): Mention button-describe. * lisp/cus-edit.el (Custom-newline): Mention widget-describe (bug#139).
2020-08-07Add new commands to describe buttons and widgetsMauro Aranda
* lisp/help-fns.el (describe-widget-functions): New variable, used by describe-widget. (describe-widget): New command, to display information about a widget. * lisp/button.el (button-describe): New command, for describing a button. (button--describe): Helper function for button-describe. * lisp/wid-edit.el (widget-describe): New command, for describing a widget. (widget--resolve-parent-action): Helper function, to allow widget-describe to display more useful information (bug#139).
2020-06-06make-text-button no longer modifies its string argPaul Eggert
* etc/NEWS: Mention this. * lisp/apropos.el (apropos-library-button): * lisp/ibuf-ext.el (ibuffer-old-saved-filters-warning): There’s no longer a need copy make-text-button’s string arg. * lisp/button.el (make-text-button): Return a copy of a string arg. Delay making the copy until after error-checking.
2020-06-03Revert make-text-button string copyPaul Eggert
* lisp/button.el (make-text-button): Don’t make a copy of a button’s string label. This reverts the change made in 2020-05-17T05:23:28Z!eggert@cs.ucla.edu, which broke SLY. Problem reported by João Távora in: https://lists.gnu.org/r/emacs-devel/2020-06/msg00117.html However, we’ll need a better fix for this once string literals become contents, if SLY uses string constants for text button labels.
2020-06-03Fix make-text-button bug with string copyPaul Eggert
* lisp/button.el (make-text-button): Use the copy of BEG uniformly, instead of in just one place. This fixes a typo introduced in 2020-05-17T05:23:28Z!eggert@cs.ucla.edu. Problem reported by João Távora in: https://lists.gnu.org/r/emacs-devel/2020-06/msg00117.html
2020-05-16Don’t attempt to modify constant stringsPaul Eggert
* lisp/bookmark.el (bookmark-bmenu-set-header): Use copy-sequence instead of concat, for clarity. Also, the byte-compiler optimizes (concat "a" "b") into "ab". * lisp/button.el (make-text-button): * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in): * test/lisp/password-cache-tests.el: (password-cache-tests-add-and-remove) (password-cache-tests-read-from-cache) (password-cache-tests-in-cache-p, password-cache-tests-read) (password-cache-tests-reset) (password-cache-tests-add/expires-key) (password-cache-tests-no-password-cache): Don’t attempt to modify constant strings. * lisp/progmodes/elisp-mode.el (elisp--xref-format) (elisp--xref-format-extra): Don’t attempt to modify constant strings via put-text-property. * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-loop-across-ref): Don’t attempt to modify constant vectors or strings.
2020-05-09Only treat display strings as buttons if they have 'button' propertyClément Pit-Claudel
* lisp/button.el (push-button): Use 'posn-point' instead of 'posn-string' if the string doesn't have the 'button' property (Bug#40859).
2020-01-01Update copyright year to 2020Paul Eggert
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2019-12-10; Spelling fixesPaul Eggert
2019-10-12button-* function doc string clarificationsJiajie Chen
* lisp/button.el (button-start, button-end, button-get) (button-put, button-label): Have the doc string mention that they have to be called from the current buffer (bug#23909). Copyright-paperwork-exempt: yes
2019-10-03Further improve button.el support for help-echoBasil L. Contovounesios
The last change to forward-button added support for help-echo values that are functions. This patch fixes the arguments passed to such functions and further adds support for help-echo values that are forms (bug#37515). * doc/lispref/display.texi (Button Properties): Fix description of help-echo button property. * lisp/button.el (button--help-echo): New function. (forward-button): Use it. (backward-button): Clarify help-echo reference in docstring. * test/lisp/button-tests.el (button--help-echo-string) (button--help-echo-form, button--help-echo-function): New tests.
2019-10-03Use lexical-binding in button.elBasil L. Contovounesios
* lisp/button.el: Use lexical-binding. Expand Keywords header. Quote function symbols as such. Use ;;;-comments where appropriate. (button): Remove outdated commentary of defface. (define-button-type, make-button, insert-button, make-text-button) (insert-text-button): Clarify in docstring that PROPERTIES argument is a plist. (button-type-subtype-p, button-has-type-p): Do not overspecify return value in docstring. (button-put): Fix typo in commentary.
2019-09-26Make forward-button support help-echo function (bug#37515)Katsumi Yamaoka
* lisp/button.el (forward-button): Support help-echo function.
2019-07-30Extend button.el to take callback dataLars Ingebrigtsen
* doc/lispref/display.texi (Button Buffer Commands) (Button Buffer Commands): Document this. * lisp/button.el (backward-button, forward-button): Accept a NO-ERROR parameter. (button-activate): Make it possible to have specific data in the callback action.