aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update to Org 9.8.2HEADmasterKyle Meyer6 hours5-12/+14
|
* hideshow: New function 'hs-add-cycle-binding' (Bug#80657)Elias Gabriel Perez9 hours1-21/+31
| | | | | | | | | https://lists.gnu.org/archive/html/emacs-devel/2026-02/msg00153.html * lisp/progmodes/hideshow.el (hs-cycle-filter) (hs-minor-mode-map): Update. (hs--filter-function, hs-add-cycle-binding): New functions. (hs-cycle): Minor rework.
* * lisp/tab-bar.el (tab-bar-show): Support the 0 value (bug#80713).Juri Linkov9 hours1-2/+5
| | | | | | | | Add explicit choice for the 0 value to always show the tab bar. Also add a choice for other non-negative numbers. In the setter enable 'tab-bar-mode' only for numbers, but not for the t value that should not enable the tab bar after customization, only after creating a new tab.
* ; * src/xwidget.c (Fmake_xwidget): Fix commentary.Eli Zaretskii15 hours1-4/+3
|
* xwidgets: re-enable with newer webkit2gtkDirk-Jan C. Binnema15 hours2-3/+11
| | | | | | | | | | | | | By disabling hw-acceleration we can re-enable xwidgets with newer webkit2gtk versions (Bug#80728). Newer versions were disallowed (Bug#66068) since they abort when a webkit view is created; however, they work fine as long as we disable hw-acceleration, since the off-screen windows that xwidgets uses do not support that. * configure.ac: Remove upper-bound for webkit2gtk version check. * src/xwidget.c (Fmake_xwidget): Turn off hardware-acceleration. Copyright-paperwork-exempt: yes
* Clean up 'Info-directory-list' after deleting packagePhilip Kaludercic15 hours1-0/+3
| | | | | * lisp/emacs-lisp/package.el (package--delete-directory): Remove manual before physically deleting the package. (Bug#80776)
* Fix computation of package description filePhilip Kaludercic16 hours1-1/+1
| | | | | | * lisp/subr.el (package--description-file): Do not expect non-numeric version components to be followed directly by a number. (Bug#80744)
* Add face for obsolete packages in package menuPhilip Kaludercic16 hours1-1/+6
| | | | | | * lisp/emacs-lisp/package.el (package-status-obsolete): New face. (package-menu-status-faces): Use new face instead of hard-coding a font-lock face.
* Add short documentation group for iCalendar libRichard Lawrence17 hours8-23/+309
| | | | | | | | | | | | | | | | | | | | | | | | | | | Define a short documentation group and document the major functions: * lisp/calendar/icalendar-shortdoc.el: New file. * lisp/calendar/diary-icalendar.el: * lisp/calendar/icalendar-ast.el: * lisp/calendar/icalendar-parser.el: * lisp/calendar/icalendar-recur.el: * lisp/calendar/icalendar-utils.el: Refer to icalendar-shortdoc.el in file commentary. * lisp/calendar/icalendar-macs.el: Ditto, and also mention the macros for binding values. * lisp/calendar/icalendar.el: Ditto, and also remove some obsolete commentary. Also make some improvements to documentation strings that the above changes revealed would be helpful: * lisp/calendar/icalendar-recur.el (icalendar-recur-recurrences-in-window-w/end-times): Fix broken ref. (icalendar-recur-current-tz-to-vtimezone): Clarify docstring. * lisp/calendar/icalendar-parser.el (icalendar-parse): Clarify docstring. (Bug#80727)
* Improve performance of icalendar-recur.el and its testsRichard Lawrence18 hours4-328/+451
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As discussed in Bug#80520. * test/lisp/calendar/icalendar-recur-tests.el (icalendar-test-rrule-test-rfc5545-sec3.8.5.3/3) (icalendar-test-rrule-test-rfc5545-sec3.8.5.3/29) (icalendar-test-rrule-test-rfc5545-sec3.8.5.3/30) (icalendar-test-rrule-test-rfc5545-sec3.8.5.3/31) (icalendar-test-rrule-test-rfc5545-sec3.8.5.3/33) (icalendar-test-rrule-test-rfc5545-sec3.8.5.3/34) (icalendar-test-rrule-test-rfc5545-sec3.8.5.3/38): Mark tests expensive. Abstract the implementation of intervals in icalendar-recur.el. Don't store interval NEXT-LOW when it's the same as HIGH. This reduces allocations, and shaves about ~20% off the full test suite. * lisp/calendar/icalendar-recur.el (icalendar-recur-make-interval) (icalendar-recur-interval-low) (icalendar-recur-interval-high) (icalendar-recur-interval-next): Implement intervals and subintervals as vectors. Only store NEXT-LOW when it's non-nil. (icalendar-recur-find-absolute-interval) (icalendar-recur-find-daily-interval) (icalendar-recur-find-weekly-interval) (icalendar-recur-find-monthly-interval) (icalendar-recur-find-yearly-interval) (icalendar-recur-next-interval) (icalendar-recur-previous-interval) (icalendar-recur-refine-byyearday) (icalendar-recur-refine-byweekno) (icalendar-recur-refine-bymonth) (icalendar-recur-refine-bymonthday) (icalendar-recur-refine-byday) (icalendar-recur-refine-byhour) (icalendar-recur-refine-byminute) (icalendar-recur-refine-bysecond) (icalendar-recur-subintervals-to-date-times) (icalendar-recur-subintervals-to-dates) (icalendar-recur-recurrences-in-interval) (icalendar-recur-recurrences-in-window) (icalendar-recur--key-from-interval): Use new interval constructor and accessors. Don't generate NEXT-LOW when it's the same as HIGH. * lisp/calendar/icalendar-utils.el (icalendar-dates-until): Use new interval constructor and accessors. * test/lisp/calendar/icalendar-recur-tests.el (icalendar-test-recur-find-secondly-interval) (icalendar-test-recur-find-minutely-interval) (icalendar-test-recur-find-hourly-interval) (icalendar-test-recur-find-daily-interval-w/date) (icalendar-test-recur-find-daily-interval-w/date-time) (icalendar-test-recur-find-weekly-interval-w/date) (icalendar-test-recur-find-weekly-interval-w/date-time) (icalendar-test-recur-find-monthly-interval) (icalendar-test-recur-find-yearly-interval) (icalendar-test-recur-refine-byyearday) (icalendar-test-recur-refine-bymonth) (icalendar-test-recur-refine-bymonthday) (icalendar-test-recur-refine-byday) (icalendar-test-recur-refine-byhour) (icalendar-test-recur-refine-byminute) (icalendar-test-recur-refine-bysecond) (icalendar-test-recur-subintervals-to-dates) (icalendar-test-recur-subintervals-to-date-times) (icalendar-test-rrule-test): Use new interval constructor and accessors. Rearrange loops when refining subintervals, so that the loop always runs once but doesn't run a second no-op iteration. Astonishingly this cuts the running time of the full test suite by almost 50%. * lisp/calendar/icalendar-recur.el (icalendar-recur-refine-byyearday) (icalendar-recur-refine-byweekno) (icalendar-recur-refine-bymonth) (icalendar-recur-refine-bymonthday) (icalendar-recur-refine-byday) (icalendar-recur-refine-byhour) (icalendar-recur-refine-byminute) (icalendar-recur-refine-bysecond): Tighten up loop bounds when refining subintervals. Improve performance of `icalendar-recur-tz-observance-on'. This also brings about a ~20% performance gain. * lisp/calendar/icalendar-recur.el (icalendar-recur-tz-observance-on): Eliminate calculation of previous interval recurrences when it's unnecessary. Add a cheap upper bound check to prevent fully computing recurrences for irrelevant observances. (icalendar-recur--w/in-locally-p): (icalendar-recur--w/in-abs-p): New helper functions for the upper bound check. Other more minor changes: Improve performance in `icalendar-recur-refine-byday' * lisp/calendar/icalendar-recur.el (icalendar-recur-refine-byday): Avoid calculating Gregorian from absolute date unless it's necessary. Improve performance of BYSETPOS filtering in icalendar-recur.el: η-reduce `icalendar-recur-make-bysetpos-filter'. Thanks to Mattias Engdegård for the suggestion and implementation. * lisp/calendar/icalendar-recur.el (icalendar-recur-make-bysetpos-filter): Rename to `icalendar-recur-bysetpos-filter' and avoid `seq-map-indexed'. (icalendar-recur-recurrences-in-interval): Use new function. * test/lisp/calendar/icalendar-recur-tests.el (icalendar-test-recur-bysetpos-filter): Use new function. Improve sorting performance: Thanks to Mattias Engdegård for the suggestion and implementation. * lisp/calendar/icalendar-recur.el (icalendar-recur-refine-byyearday): (icalendar-recur-refine-byweekno): (icalendar-recur-refine-bymonthday): (icalendar-recur-refine-byday): Use :key instead of :lessp in `sort' calls. Eliminate `apply-partially' and `seq-take': Thanks to Mattias Engdegård for the suggestion and implementation. * lisp/calendar/icalendar-recur.el (icalendar-recur-recurrences-in-window): Eliminate `apply-partially'. (icalendar-recur-recurrences-in-interval): Eliminate `apply-partially' and replace `seq-take' with `take'. Reduce consing: * lisp/calendar/icalendar-recur.el (icalendar-recur-subintervals-to-dates): (icalendar-recur-recurrences-in-window): (icalendar-recur-recurrences-in-window-w/end-times): (icalendar-recur-recurrences-to-count): Replace `append' with `nconc'. Avoid a few uses of `seq-filter' in common functions in icalendar-ast.el: * lisp/calendar/icalendar-ast.el (icalendar-ast-node-children-of): Reimplement filter imperatively.
* ; * doc/lispintro/emacs-lisp-intro.texi (Files List): Fix typo (bug#80694).Eli Zaretskii18 hours1-1/+1
|
* ; Fix last change to 'ls' error message testsStephen Berman37 hours2-4/+10
| | | | | | | | | * test/lisp/dired-tests.el (dired-test-ls-error-message): * test/lisp/files-tests.el (files-tests-file-name-non-special-insert-directory): Use `string-match-p' instead of `equal' because the error message may report e.g. "/bin/ls" even though the value of `insert-directory-program' is "ls".
* ; * lisp/dired.el (dired-readin-insert): Fix a recent change (bug#80499).Eli Zaretskii38 hours1-12/+14
|
* Fix setting and restoring cursor shape on Windows TerminalEli Zaretskii38 hours1-10/+31
| | | | | | | * src/w32console.c (w32con_set_cursor_size): New function. (w32con_reset_terminal_modes, w32con_set_terminal_modes) (Fset_cursor_size): Use it to change cursor shape on Windows Terminal.
* Fix display of ambiguous-width characters on MS-Windows terminalEli Zaretskii39 hours2-5/+26
| | | | | | | | | | | | * src/w32console.c (syms_of_ntterm) <w32--terminal-is-conhost>: New variable. (initialize_w32_display): Set 'w32--terminal-is-conhost' non-nil when running on ConHost. * lisp/international/characters.el (use-cjk-char-width-table): When Emacs runs on MS-Windows Terminal, behave as if 'cjk-ambiguous-chars-are-wide' were nil even in CJK locales. (Bug#79298)
* Improve tests involving 'ls' error messageStephen Berman40 hours2-16/+30
| | | | | | | | * test/lisp/dired-tests.el (dired-test-ls-error-message): * test/lisp/files-tests.el (files-tests-file-name-non-special-insert-directory): Make test comparing the expected 'ls' error message with the string in the 'ls' error buffer more robust (bug#80499).
* Ensure Dired does not list deleted 'ls' error fileStephen Berman41 hours2-1/+21
| | | | | | | | * lisp/dired.el (dired--ls-error-file): New variable. (dired-readin-insert): Use it to find and remove entry in Dired buffer of already deleted temporary 'ls' error file (bug#80499). * lisp/files.el (insert-directory): Set it to temporary 'ls' error file.
* Fix face extension in 'visual-line-mode'Eli Zaretskii41 hours1-5/+20
| | | | | | | | * src/xdisp.c (display_line): Under WORD_WRAP, save and restore the iterator _before_ the wrap point. This fixes face extension under 'visual-line-mode', because otherwise 'extend_face_to_end_of_line' is called with the value of 'it' that corresponds to the first display element on the next screen line. (Bug#80673)
* Handle 'dired' called with -Al switches (bug#80711)Stephen Berman42 hours2-12/+8
| | | | | | | | | | | * lisp/dired.el (dired-internal-noselect): After reading in directory, check whether there was an 'ls' error instead of checking for file entries, since there may be none is the -Al switches (or just -l) were used. (dired--display-ls-error): Ensure the 'ls' error buffer is a live buffer. * lisp/files.el (insert-directory-clean): Ensure deletion of "//DIRED-OPTIONS//" line when using -Al switches (or just -l).
* uni-script.el: Fix failure when loading the file directlyStefan Monnier2 days1-9/+10
| | | | | | * lisp/international/textsec.el (textsec--create-script-table): Autoload and don't define while compiling. (uni-script): Require only when loading, not when compiling.
* Don't continue FOR_EACH_FRAME loops after delete_frame (bug#80789)Pip Cet2 days1-3/+13
| | | | | * src/xterm.c (x_connection_closed, x_delete_terminal): Restart FOR_EACH_FRAME loops after deleting one (or potentially more) frames.
* Ensure selected_frame isn't the deleted frame (bug#80789)Pip Cet2 days1-4/+18
| | | | | | | | | | | The previous code would sometimes exit the loop with frame1 set to the last considered frame, even if that wasn't a suitable frame to switch to. * src/frame.c (delete_frame): Reset 'frame1' in the loops if we don't match the break condition, so we don't think we've found a suitable replacement frame if we haven't. Error if, for some reason, that fails.
* Don't accept dead selected_frame in x_connection_closed (bug#80789)Pip Cet2 days1-2/+3
| | | | | * src/xterm.c (x_connection_closed): Try to restore frame if the selected frame is dead. If that fails, abort.
* ; * etc/MH-E-NEWS: Document the fix for SF#473.Mike Kupfer2 days1-0/+13
|
* Improve previous change.Mike Kupfer2 days1-2/+6
| | | | | * lisp/mh-e/mh-thread.el: Require 'mh-folder. (mh-thread-refile): Update the docstring.
* MH-E: remember destination when refiling a thread (SF#473)Henrique Martins2 days1-1/+4
| | | | | | | | * lisp/mh-e/mh-thread.el (mh-thread-refile): Add an optional argument 'dont-update-last-destination-flag'. If it is nil, update 'mh-last-destination' and 'mh-last-destination-folder'. Copyright-paperwork-exempt: yes
* src/eval.c (Fdefault_toplevel_value): Improve docstring (bug#80775)Stefan Monnier2 days1-2/+6
|
* * test/infra/gitlab-ci.yml (default): User docker 28.5.2.Michael Albinus3 days1-1/+1
|
* Merge branch 'master' of git.sv.gnu.org:/srv/git/emacsMichael Albinus3 days8-43/+71
|\
| * ; Update "Key Binding" node in Emacs Lisp IntroEli Zaretskii3 days1-5/+4
| | | | | | | | | | * doc/lispintro/emacs-lisp-intro.texi (Key Bindings): Remove obsolete text about \C in key bindings. (Bug#80787)
| * (elisp--font-lock-flush-elisp-buffers): Avoid eager font-lockingStefan Monnier3 days1-1/+3
| | | | | | | | | | | | | | | | When jit-lock is not in use, `font-lock-flush` is too costly to justify using it just to maybe update the highlighting of a few macro calls. * lisp/progmodes/elisp-mode.el (elisp--font-lock-flush-elisp-buffers): Skip buffers that use jit-lock, like the `*ielm*-comint-indirect` buffer.
| * ; New function 'ns-process-is-accessibility-trusted', no message (bug#80624)Stéphane Marks3 days3-11/+33
| | | | | | | | | | | | | | | | | | * src/nsfns.m (Fns_process_is_accessibility_trusted): New function. (syms_of_nsfns): New defsubr. * src/nsterm.m: ([EmacsApp applicationDidFinishLaunching:]): Remove the AXIsProcessTrusted message. * etc/NEWS: Updated.
| * (elisp--local-variables): Restore point earlierStefan Monnier3 days1-23/+24
| | | | | | | | | | | | * lisp/progmodes/elisp-mode.el (elisp--local-variables): Restore point before calling `elisp--safe-macroexpand-all` in case this triggers a temporary redisplay.
| * lisp/vc/vc.el (vc-checkin): Use `vc-dir-buffers` like we do everywhere elseStefan Monnier3 days1-1/+1
| |
| * (listify-key-sequence): Fix breakage with unibyte charsStefan Monnier3 days2-1/+4
| | | | | | | | | | | | | | * lisp/subr.el (listify-key-sequence): The funny "7th bit is Meta" applies only to unibyte strings. * test/lisp/subr-tests.el (subr-listify-key-sequence): New test.
| * * lisp/vc/vc.el (vc-checkin): Don't assume vc-dir is loaded.Sean Whitton3 days1-1/+2
| |
| * with-vc-properties: Don't substitute in a global valueSean Whitton3 days1-1/+1
| | | | | | | | | | | | | | * lisp/vc/vc.el (with-vc-properties): Don't substitute in the value vc-touched-properties happens to have at macro expansion time. This was left over from when vc-touched-properties was bound to a local gensym.
* | ; * doc/emacs/msdos.texi (Windows Misc): Fix typo.Michael Albinus4 days1-1/+1
|/
* Fix emoji--insert-buffer being wiped by emoji-list-modeसमीर सिंह Sameer Singh4 days1-2/+2
| | | | | * lisp/international/emoji.el (emoji-list): Set insert-buffer after the emoji buffer is set up. (bug#80773)
* ; Update admin/authors.elEli Zaretskii4 days1-1/+3
| | | | | * admin/authors.el (authors-aliases, authors-fixed-entries): Add Ewan Townshend and his contribution.
* Fix "Narrowing src/ file breaks xref"Dmitry Gutov4 days1-12/+13
| | | | | * lisp/emacs-lisp/find-func.el (find-function-C-source): Look outside of the current narrowing as well (bug#80749).
* lisp/emacs-lisp/cl-macs.el (cl-typep): Undo accidental changeStefan Monnier4 days1-5/+5
|
* src/data.c (set_internal): Mention var which can't be unbound in error msgStefan Monnier4 days1-2/+4
|
* (take-while, drop-while, all, member-if)Stefan Monnier4 days1-31/+41
| | | | | | | | | * lisp/subr.el (take-while, drop-while, all, member-if): Don't inline if `pred` is not a "constant" since it wouldn't bring any significant benefit. Also, don't explicitly `macroexpand-all` since the compiler macro will be called (again) after macro-expansion, if needed. (internal--effect-free-fun-arg-p): Return nil for variable references.
* (dired-at-point-prompter): Fix bug#80545Stefan Monnier4 days2-7/+14
| | | | | | | | * lisp/ffap.el (ffap-read-file-or-url): Add `read-dir` argument to indicate we expect a directory as return value. Avoid `read-file-name` when we want a directory and the dialog UI might prevent us from doing so. (dired-at-point-prompter): Use the new arg.
* (natnum, keyword, command): Fix bootstrap warnings (bug#80732)Stefan Monnier4 days2-13/+14
| | | | | | | | | | | | | | | | | | | To break the interdependence between `cl-macs` and `cl-preloaded`, we refrain from defining some types in `cl-macs` in some corner case situations which affect only the early bootstrap. `transient.el` is used during early bootstrap (while loading `emoji.el` to produce `emoji-labels.el`) and it uses the `keyword` and `command` types, so make sure they're not among those types that are sometimes not defined. Include `natnum` while we're at it, so the only types still affected by this corner case are "Common Lisp" types, which are less likely to be used during early bootstrap. * lisp/emacs-lisp/cl-macs.el (natnum, keyword, command): Move type declaration from here to... * lisp/emacs-lisp/cl-preloaded.el (natnum, keyword, command): ...here.
* Avoid infinite recursion in bind-keys-form (bug#80759)Pip Cet4 days1-10/+20
| | | | | * lisp/bind-key.el (bind-keys-form): Always continue loop after matching a keyword argument.
* * doc/misc/tramp.texi (New operations): Extend example.Michael Albinus4 days1-0/+22
|
* ; * lisp/term/w32console.el (set-screen-color): Fix signature.Eli Zaretskii5 days1-1/+1
|
* Support 24-bit TrueColor on MS-Windows consoleewantown5 days11-110/+515
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/w32console.c (DEFAULTP, SSPRINTF, w32con_write_vt_seq) (w32con_get_cursor_coords): New functions and macros. (w32con_write_glyphs): Hide cursor before writing to the console. Add code for writing in virtual-terminal mode when 'w32_use_virtual_terminal' is non-zero. (w32con_write_glyphs_with_face): Add code for writing in virtual-terminal mode when 'w32_use_virtual_terminal' is non-zero. (w32con_setup_virtual_terminal): New function. (w32con_set_terminal_modes): Call it. (turn_on_face, turn_off_face): New functions. (initialize_w32_display): Save background and foreground, and the current TTY. (Fset_screen_color): Accept an additional optional argument VTP; if non-nil, arrange for 24-bit display to use the specified colors. (Fget_screen_color): Accept an additional optional argument VTP; if non-nil, return colors used by 24-bit display. (Fw32_use_virtual_terminal, Fw32_use_virtual_terminal_p): New functions. * src/term.c (tty_setup_colors) [WINDOWSNT]: Set up virtual-terminal sequences for colors. (init_tty) [WINDOWSNT]: Set up terminfo capabilities for Windows virtual-terminal. * src/xdisp.c (redisplay_internal): Don't call set_tty_color_mode for WINDOWSNT. * lisp/term/w32console.el (w32-tty-set-base-colors) (w32-tty-define-base-colors, w32-tty-define-8bit-colors) (w32-tty-define-24bit-colors, w32-tty-get-pixel): New functions. (terminal-init-w32console): Remove color setup. (w32-tty-setup-colors): New function. * lisp/term/tty-colors.el (tty-color-mode-alist): Add --color modes for 256 and 24-bit color modes. * lisp/startup.el (tty-handle-args): Fix --color handling. * lisp/faces.el (tty-set-up-initial-frame-faces): Set up colors for MS-Windows consoles. * etc/NEWS: * doc/emacs/msdos.texi (Windows Misc): * doc/emacs/cmdargs.texi (Colors X): Document 24-bit color support on MS-Windows. (Bug#79298)