aboutsummaryrefslogtreecommitdiffstats
path: root/src/indent.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ; * src/indent.c (Fvertical_motion): Fix last change. (Bug#80223)Eli Zaretskii2026-01-191-0/+1
|
* Fix vertical cursor motion across overlay stringsEli Zaretskii2026-01-191-1/+4
| | | | | * src/indent.c (Fvertical_motion): Fix vertical cursor motion when a screen line begins with an overlay string. (Bug#80223)
* ; Add 2026 to copyright years.Sean Whitton2026-01-011-1/+1
|
* bug#79241: Fix incorrect handling of overlays in `vertical-motion'Sergio Pastor Pérez2025-08-301-0/+3
| | | | | | | | | * src/indent.c (vertical-motion): If iterator is inside an overlay, reset it to the beginning of line before trying to reach goal column. This prevents point from being stuck at the beginning of overlay strings during upward motions. Copyright-paperwork-exempt: yes
* Teach 'current-column' to account for imagesEli Zaretskii2025-04-051-27/+85
| | | | | | * src/indent.c (check_display_width): Handle 'image' and 'slice' display specs, instead of using the width of the underlying text. Accept 2 additional arguments: WINDOW and SCAN_BYTE. (Bug#76107)
* Update copyright year to 2025Paul Eggert2025-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright".
* 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
| |
* | Fix mouse clicks on links under 'global-display-line-numbers-mode'Eli Zaretskii2023-10-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | * src/indent.c (line_number_display_width): No longer static. * src/lisp.h (line_number_display_width): Add prototype. * src/keyboard.c (save_line_number_display_width) (line_number_mode_hscroll): New functions. (make_lispy_event): Call 'save_line_number_display_width' and 'line_number_mode_hscroll' to avoid interpreting up-event as drag event when redisplay scrolls the text horizontally between the down- and up-event to account for the changed width of the line-number display. (Bug#66655)
* | Merge from origin/emacs-29Eli Zaretskii2023-07-081-13/+24
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 600b90ed568 Mark failing icalendar test as unstable (bug#56241) f8a918c9778 ; * src/coding.c (Fcoding_system_put): Improve doc string. 40f84e906f6 ; * doc/lispref/keymaps.texi (Key Binding Commands): Fix ... 502a7800319 ; Improve documentation of 'vertical-motion' in ELisp manual 0d90873fa41 ; * src/indent.c (Fvertical_motion): Doc fix. 9b38773a20b ; * lisp/dired.el (dired-no-confirm): Doc fix. (Bug#64493) a30ebe7a556 ; Improve documentation of key-binding commands c3fefb2b3ae Improve natnump shortdoc 244d4c837ab correct info documentation of benchmark-call 67def1f5502 * lisp/progmodes/grep.el (rgrep): Fix docstring. 8da2091362d ; Fix documentation of minibuffer-completion commands aa030698cef ; Fix typos in documented names of keymap-* functions a9b46bb25df Include a help-echo for flymake's modeline counters 37ed3d15f38 Avoid errors in completion due to 'completion-regexp-list' 15ff8761777 ; * lisp/register.el (register-val-describe): Doc fix. fe7b909c16c ; Fix two typos in recent changes in the manual 7a74b8c3277 C Mode: Don't fontify foo globally as type due to "struct... 823bf6bdb1a * lisp/rect.el (rectangle--duplicate-right): Fix rectangl... e339d0080d3 ; * test/lisp/misc-tests.el (ert): require misc to avoid ... # Conflicts: # lisp/rect.el
| * ; * src/indent.c (Fvertical_motion): Doc fix.Eli Zaretskii2023-07-071-13/+24
| |
* | Merge from origin/emacs-29Eli Zaretskii2023-05-131-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7acae22f42f Fix auto-filling in Texinfo mode 4bda9627349 ; * admin/git-bisect-start: Update failing commits dcf8c011028 Merge branch 'scratch/long-lines-cleanup' into 'emacs-29' 1e3a66df459 Add an assertion in, and a commentary for, 'get_nearby_bo... f0f08eeb05c Fix the return type of 'labeled_restrictions_get_bound' acf4763417e Fix mouse highlight with some fonts in Cairo builds 32b42b333ca ; * etc/NEWS: Fix wording in last change. 09d6070e56e ; Improve and update documentation of built-in package up... ba2c76fa2bc Ensure that package menu respects 'package-install-upgrad... 6fa9332e7cd Ensure that EXTRA-DATA are always written when generating... 60d5a015d1f Update to Transient v0.4.0 b8bcd42cabc Revert "Don't have nntp-report signal an error" ef1f4068f6f ; * lisp/wid-edit.el (widget-specify-insert): Fix debug s... 09bf4768360 Make c-emacs-features use the proper binding of parse-sex... c9e2a5ec26c ; * lisp/obsolete/autoload.el (make-directory-autoloads):... 346f4ac3bf5 ; Fix example in ELisp manual 91fff05ae35 ; Fix wording in Emacs manual 2438fa2e6cc ; Fix minor documentation issue ion replace.el 93005cd9dc2 with-display-message: Workaround for bug#63253 6924c81a6d2 ; Don't use literal non-ASCII characters in Texinfo f1675df3d0c Fido-mode: never shadow 'external' completion style 56d2949d44c ; * lisp/leim/quail/persian.el: Fix a typo in last commit. d94ea9efca6 Avoid crashes in --without-all build trying to scale non-... 387ddc0ccc1 Improve instructions for dealing with Emacs crashes e6b4784a37f Improved transliterations + improved bidi insertion suppo... c1363a04bb2 Fix crash when creating a child frame in NS (bug#63107) 7d6855c9ab6 Fix outgoing mime type regression (Bug#62815) e920dd2b6f9 define-minor-mode: sanitize mode function messages 910a7b30dfd Fix beginning/end-of-defun with tree-sitter e205f68717e Fix indent for enums in csharp-mode dfde902f3b9 ; Expand 'package-vc-install' documentation 71337843036 Teach c-ts-mode about the 'restrict' keyword 15e06260ae8 * lisp/x-dnd.el (x-dnd-after-move-frame): Skip dead frame... a081b6625bd ; Updated Elispref-Manual: `nil' cannot be defun'ed 97b818a4fb9 Fix doc strings of 'mark-sexp' and 'mark-word' 6f910ad9322 ; * etc/EGLOT-NEWS: Fix misspellings. 9b775ddc057 ; * etc/EGLOT-NEWS: Fix wording of last change. 79a886ba368 (package-upgrade): Don't remove the package from 'package... c0ab4e9ca93 Eglot: re-rename eglot-upgrade to eglot-upgrade-eglot b4e90070f96 Fix arguments of xml.c functions as displayed in Help buf... b1bda8228e5 More fixes for NetBSD/vax a2d4cd06f45 Improve VHDL mode highlighting 2f3a514b6db Clarify documentation wrt floating point division by zero... 94e984e6700 Make loaddefs-generate slightly more tolerant aba41d2c4bb ; Minor doc cleanups in go-ts-mode.el b42ccb2e5c1 ; Minor grammar fix in treesit manual. ab44c8a6f9d Fix order of rcirc-connect arguments 8eb6e33691d Fix rcirc messages printing in the wrong place 2901a3443c7 Prevent unnecessary modifications of 'package-vc-selected... eaad302bd6f Rename eglot-update to eglot-upgrade eaf25b9c6ae go-ts-mode: Use iota query only if supported (Bug#63086) cc090294d77 (rng-complete-tag): Add the (ignored) argument to the :co... 21ec6c1d5cc Update to Transient v0.3.7-219-g3ded15b 8d5aa8df4ad Fix inserting selection data into Mozilla programs 57562c3fd0a Recognize defstruct slot names in various eieio functions b93eb68cc30 Use 'calendar-buffer' instead of fixed string e338a8ac41d Handle point not at EOB in minibuffer-choose-completion fceaf230b06 Note that Emacs pauses when handling sentinel errors 46392c1623b Fix vertical-motion when tab-line is displayed in a window 0e52beeacea Update to Org 9.6.5-3-g2993f4 dd21003878d Prevent generating empty autoload files 2bcf11d0efe * lisp/org/org-macs.el (org--inhibit-version-check): Fix ... ca43435816b Fix redisplay of mode line after its format changes from nil 610a7657e0a Fix c-ts-mode--emacs-c-range-query 7f94558b775 Improve documentation of warnings 5a3f0e2c558 ; Doc fix in c-ts-mode.el 21361d05635 Fix FOR_EACH_TAIL fontification (bug#62951) d0df3404fde ; * etc/EGLOT-NEWS: chsharp-le -> csharp-ls c229e83c3ce ; * etc/EGLOT-NEWS (https): Elglot -> Eglot. b4f2f499783 Fix documentation of libxml-parse-* functions 5dd784961d1 ; * src/treesit.c (syms_of_treesit): Fix error messages. ddfa0d8da9a ; Remove some leftover text 212e30f6789 ; Fix byte-compilation warnings in c-ts-mode.el 1f2214dabd0 Skip over whitespace in annotation-top-cont check (bug#63... 7e136c51f6f Update zh-CN tutorial translation d3ca0b3aa2e ; * lisp/progmodes/c-ts-mode.el: Fix comments and doc str... c6f15c24862 ; Fix last change. b9e06330f75 ; * etc/NEWS: Followup to bug#62720. b33d25f5967 ; Minor improvements in doc strings of package-upgrade co... c3a61870b94 Fix eglot.texi a40f1816237 Fix two crashes upon startup 44ebd9cbd56 Eglot: explain how to update Eglot in manual (bug#62720) 941ef044f2e Eglot: fix edge case when deleting inlay hint overlays a365984d9e1 package-upgrade[-all]: Expand docstrings to note the curr... f965f35b33b Rename all functions called package-*-update-* to package... 31b58161bb5 Fix FOR_EACH_TAIL in c-ts-mode (bug#62951) 0cf6e0998ba * Makefile.in (distclean): Remove the 'native-lisp' direc... 933705d61e5 Improve greek-ibycus4 input method c46e93b1f50 Explain ERC 5.5 regressions in new version 5.5.0.29.1 af43f0a2954 * doc/misc/erc.texi: Elaborate on upgrading via ELPA. 10948948c12 Improve outline-default-state docstring b5ace2eed80 Document problems with /bin/sh on Solaris 10 7b2ad8f199e ; Add missing <<inserted by help-with-tutorial>> line to ... 524e161a536 Followup to addition of TUTORIAL.fa 76f50df1539 Add Farsi/Persian translation of the tutorial 8eacfaea6d8 Add Mongolian language environments fe8efbb8f75 Document the 'end-session' event on MS-Windows d80f959bede Update to Org 9.6.4-9-g8eb209 98c6cfcbe4a Don't support versioned grammar libraries on MS-Windows 8f71c1546df Accept versioned tree-sitter language grammar files 99add09d5e1 tab-bar-new-tab: inhibit side-window checks 087e8181947 * etc/NEWS: Fix outline level. (Bug#63042) d7f38558c4c ; Improve font selection for Traditional Mongolian 965c5e0231c Fix rendering of Traditional Mongolian script 9a0f10b5f88 Fix line-number-at-pos when POSITION is out of narrowing 4e0f4292aaf ; * etc/tutorials/TUTORIAL: Fix punctuation. dec2ac0c657 Fix exiting Emacs after saving a tutorial 44145bf07e2 Add indentation style setting for c-ts-mode in .dir-local... e7db6c59cc6 ; * .dir-locals.el (c-ts-mode): Add settings. d041f01b02f ; Minor fix in Emacs Lisp Intro manual 3899acbb336 ; * src/fringe.c: Fix description of large circle. (Bug#... 2b10e1827d3 sql: add missing postgresql types 9ac12592781 Fix display of menu-bar bindings of commands in *Help* bu... ecdd3a9efac Improve Completion Example section in the Emacs manual 626e1ac62b2 Improve 'message-server-alist' docstring 327986936c3 Add index entry for fallback modes 1c4783c3300 ; * etc/NEWS: Copyedits and grammar fixes. 3d6f7553319 xref-search-program-alist: Fix searching larger file list... 1b8b2cf61bd Fix typo and inaccuracy in the ELisp Reference manual df17682ebf1 ; Support 'dart-ts-mode' in Eglot e0dc60e0780 ; Fix typos in gdb-mi.el 60560cc7adf Fix description of lexical environment's internals 1456adf4248 ; Eglot: fix a typo in a customization type 2f59595f5f4 ; * etc/NEWS: Grammar fixes. 596b780ab71 Update to Org 9.6.4-2-g0f6ae7 a0b04a22479 Documentation copyedits for 'package-install-upgrade-buil... 580d8278c5f Allow upgrading built-in packages with 'package-install' 329304c23fa ; * src/term.c (init_tty): Fix last change. (Bug#62877) 200dbf7d302 Minor changes in c-ts-mode.el's support of DEFUNs 9686b015a0d Fix strike-through attribute support on TTY frames 39035fbfc5f Avoid crashes in 'describe-keymap' due to shadowing b7023da6627 Make image-map bindings available on image links d9e96c029bb * CONTRIBUTE: Fix a typo 3f71a2a0cf6 ; * lisp/progmodes/c-ts-mode.el (treesit-node-next-siblin... adf9c956c28 Add to Eglot support for additional language-servers. b3603b84bd9 Partial support for DEFUN in c-ts-mode (bug#62825) 14e809ddff1 Fix style and unwinding code in treesit.c 759cdf1e510 Catch signals produced by PRED in tree-sitter search func... 864a4dc2363 Fix compilation of w32.c with old MinGW system headers a22eb9ae0f9 ruby-add-log-current-method: Reduce the use of 'nreverse' 17d803d0a75 Fix detection of WebP images by their signature 43290391ce2 ; Eglot: make version parseable by version-to-list 6e6e8b5c974 Add more documentation for the keys of `package-vc-select... 7972b76c2c7 ; vc-checkout: Wrap var lookup in 'bound-and-true-p' e9fef1d70ff vc-checkout: Try to use the vc-dir's backend first 372e024accd ; Fix wallpaper-tests on XFCE 7055fd8e43e Improve documentation related to 'ispell-complete-word' 61fd017abde * configure.ac: Add -lbsd on Haiku. 05971c4d9a4 Add menu to 'c-ts-mode' and 'c++-ts-mode' 954e2d96a92 Update manual about `sort` c62afb10cf0 Fix wallpaper-tests on MS-Windows f2d212c6966 Fix a couple of eglot-tests 338b3718b6c Fix visiting RPM files b4afee03193 Fix ff-quiet-mode doc 2445100d7d6 ; Improve documentation of 'match-buffers' d4d0da96f0b ; Update make-tarball.txt for Emacs 29. 9b0bf694da4 ; Fix ldefs-boot.el. 0cb86a348c7 ; Update ChangeLog.4. 5e039d5a6e9 * lisp/ldefs-boot.el: Regenerate. 671abd0cc40 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ... 4bc678ec9f4 Bump Emacs version to 29.0.90 db8f207e52f Fix some cases of incomplete code's indentation [c/c++-ts... 589959fb09d project-search: Pipe the list of files through 'file-regu... 2b91567bf61 Update ChangeLog and AUTHORS for Emacs 29 d6af1f14982 ; doc/lispref/windows.texi: Fix @pxref paren. 57490fff6ec ; Backport: Eglot: fix misplaced parenthesis in last comm... 2a62273f3bf Backport: Eglot: no more tests based on Pylsp (bug#62694) 5ef7ff05736 ; Start a new ChangeLog.4 file. 11126c6d30a Fix 'C-h k' for "Paste from Kill Menu" in context menus 74ddfe811f9 ; * doc/misc/calc.texi (Rewrites Tutorial): Fix a typo (b... 08cda286c3f Improve the documentation of the XDS support 14d1c00e806 Allow reindentation of images inserted by 'mm-inline-image' b63a9eda01c Fix "C-h k" and "C-h c" with Paste from Kill Menu b36c21e27dc Change cursor color on NS port when it matches the face b... 96714c106b7 Improve documentation of image-related commands 6a2863ca016 Fix handling of sliced images 5be79fd05a5 ; * etc/NEWS: Announce 'cyrillic-mongolian' IM. ca1a0fda98a ; Fix last change. ce63462dbda Add cyrillic-mongolian input method 58801792706 ; Minor addition to the Emacs FAQ 88847dee125 Jsonrpc: don't bind inhibit-read-only to t so early cb8c87a423a Allow active region when IM is used 305246d9726 Add emoji-zoom-reset 470d269ec1f Make emoji-zoom-{increase,decrease} set text properties c... 63d4a86f8d1 Fix transforming sliced images 5e1953a8f85 ; * etc/NEWS: Minor copyedits of entry for 'keymap-*' fun... 6b9f9df9454 ; Improve documentation of 'declare-function' 81d1f46d0fe ; Avoid compiler warning in eglot.el. 38cdfcb2128 ; Fix description of new 'keymap-*' functions 257090b8728 Adapt EMBA scripts. 90c07d3fdd2 Another terminology fix in ELisp reference manual a832bc7090c Correct terminology in Elisp Reference Manual db308233cb3 Comment out GNUSTEP jobs on EMBA (again) 8c1b1022439 ; * lisp/image.el (put-image): Doc fix. eda88c63adf ; * doc/emacs/trouble.texi (Checklist): Minor grammar fix. 728bc09cf3c Fix regexp string escaping mistake in vhdl-mode.el (bug#6... 479626dbac9 Update to Org 9.6.3-2-gf2949d 5a1c9aace70 ; Add a bit more docstring to tsx-ts-mode (bug#62429) 86cf9fd932c Eglot: don't watch directories that don't exist 82d0b6c64ea ; * lisp/subr.el (use-dialog-box-p): Fix last change. 3619663f982 Preserve peer information for web page in eww-readable cb8d6ab648f * lisp/subr.el (use-dialog-box-p): Fix conditions for GUI... fb2c4409207 ; * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Add some n... c0b9530862c Another final fix to last changes 0cc8d6826ad Three final fixes to last changes 89e337c3fc9 ; Make sure 'eshell-command' tests don't prompt the user 097c5ee8f55 Two further fixes to last changes b39c3cd1125 ; * etc/NEWS: Fix typos. dce08cf05cc Improve and fix last changes 89ac5ba11c7 Fix ModelSim error regexp in vhdl-mode 24ed9c7ae78 ; * doc/emacs/trouble.texi (Checklist): Minor copyedits (... d1d39a0f09c Document enhancements in handling of echo-area messages 46209b2453b ; Fix last change 21a4ee209c1 Fix new Eshell tests on MS-Windows e2ebf3995d0 ; Auto-commit of loaddefs files. 6419d78fa6f Fix using background commands in 'eshell-command' 3bdbb66efb9 ; CONTRIBUTE: Minor stylistic changes. d0eb12e8d3c Fix typo in section 14.1 of Emacs Manual b2fbec37f39 ; * etc/EGLOT-NEWS: Clarify scope of topmost section 131ec049db0 Eglot: unbreak eglot-extend-to-xref on w32 0622e1f29f6 Eglot: ensure server shutdown turns off eglot-inlay-hints... 59f66ea3027 ; * lisp/emacs-lisp/package-vc.el: Remove completed item ... d23dc3dd7e3 ; * lisp/emacs-lisp/package-vc.el (package-vc): Fix manua... 4508a024e81 ; Clarify documentation of 'cursor' text property d2e82817a3f Add two typescript-ts-mode faces (bug#62429) 10918fc9d24 Fix scrolling window when point moves up 9b32bc134c4 Improve documentation of 'defcustom's :set keyword ab4273056e0 Comp fix calls to redefined primtives with op-bytecode (b... c98929c7e18 ; Fix last change a14c3f62a67 ; Fix last change 09fece5722f Fix duplicate defcustom in eww.el 2093e010dc1 Fix cursor motion in character-only terminals e45bd10a3d9 Fix indentation regression in 'C-h l' 46fd10a7600 * doc/misc/tramp.texi (Remote shell setup): Clarify use o... 974e4f33333 Make get_medium_narrowing_begv/zv static afc2c6c13cb Improve accuracy of cursor motion commands in long lines 7e26a5c774e Remove labeled restrictions before calling Fwiden 85ed1c9ca6b Code cleanup for long line optimizations # Conflicts: # etc/NEWS
| * Remove labeled restrictions before calling FwidenGregory Heytings2023-03-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/editfns.c (labeled_restrictions_remove_in_current_buffer): New function. * src/lisp.h: Make it externally visible. * src/xdisp.c (display_count_lines_logically): * src/lread.c (readevalloop): * src/indent.c (line_number_display_width): * src/fileio.c (write_region): * src/callproc.c (Fcall_process_region): * src/buffer.c (Ferase_buffer): Use it.
* | Optimize search for composable characters in redisplayEli Zaretskii2023-04-291-4/+4
|/ | | | | | | | | | | | | | * src/composite.c (composition_compute_stop_pos): Accept new argument INCLUDE_STATIC, and look for potential static compositions only if this argument is non-zero. * src/xdisp.c: * src/composite.c: * src/indent.c: All callers adjusted. * src/xdisp.c (compute_stop_pos): Don't search for static compositions. Search for automatic compositions only after the iterator gets past the composition stop_pos computed last time. Use a better position for limiting search for automatic compositions. (Bug#62780)
* Fix 'vertical-motion' when display strings are aroundEli Zaretskii2023-02-261-1/+1
| | | | | * src/indent.c (Fvertical_motion): Correct bidi-related condition for character position, when we didn't move vertically. (Bug#61636)
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* ; Improve documentation of TAB/SPC indentationEli Zaretskii2022-12-271-0/+2
| | | | | | * lisp/indent.el (tab-to-tab-stop): * src/indent.c (Findent_to): Mention 'indent-tabs-mode' in doc strings.
* Merge remote-tracking branch 'origin/feature/noverlay'Stefan Monnier2022-10-281-4/+1
|\
| * Merge 'master' into noverlayStefan Monnier2022-09-251-165/+280
| |\
| * | Provide a new tree data-structure for overlays.Andreas Politz2017-10-041-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/itree.c (interval_generator_narrow, interval_generator_next) (interval_node_init, interval_node_begin) (interval_node_end, interval_node_set_region) (interval_tree_create, interval_tree_clear) (interval_tree_init, interval_tree_destroy) (interval_tree_size, interval_tree_insert) (interval_tree_contains, interval_tree_remove) (interval_tree_validate, interval_tree_iter_start) (interval_tree_iter_finish, interval_tree_iter_next) (interval_tree_iter_ensure_space, interval_tree_max_height) (interval_tree_insert_gap, interval_tree_delete_gap) (interval_generator_create, interval_generator_reset) (interval_generator_ensure_space, interval_node_intersects) (interval_generator_next, interval_generator_narrow) (interval_generator_destroy, interval_stack_create) (interval_stack_destroy, interval_stack_clear) (interval_stack_ensure_space, interval_stack_push) (interval_stack_push_flagged, interval_stack_pop) (interval_tree_update_limit, interval_tree_inherit_offset) (interval_tree_propagate_limit, interval_tree_rotate_left) (interval_tree_rotate_right, interval_tree_insert_fix) (interval_tree_remove_fix, interval_tree_transplant) (interval_tree_subtree_min): New file and new functions. * src/itree.h: New file. * configure.ac: Create Makefile for manual overlay tests. * src/Makefile.in: Add itree.o target. * src/alloc.c (build_overlay, mark_overlay, mark_buffer) (sweep_misc, sweep_buffers): Adapt to new tree data-structure. * src/buffer.c (overlays_in, overlays_at): Remove unused arguments prev_ptr and change_req, adapt to new data-structure and reuse code. (copy_overlays, drop_overlays, delete_all_overlays) (reset_buffer, kill-buffer, buffer-swap-text, next_overlay_change) (previous_overlay_change, mouse_face_overlay_overlaps) (disable_line_numbers_overlay_at_eob, overlay_touches_p) (overlay_strings, adjust_overlays_for_insert) (adjust_overlays_for_delete, overlayp, make-overlay, move-overlay) (delete-overlay, overlay-start, overlay-end, overlay-buffer) (overlay-properties, overlays-at, overlays-in) (next-overlay-change, previous-overlay-change, overlay-put) (overlay-get, report_overlay_modification, evaporate_overlays) (init_buffer_once): Adapt to changes and tree data-structure. (overlay-lists, overlay-recenter): Funtions are now obsolete, but kept anyway. (set_buffer_overlays_before, set_buffer_overlays_after) (recenter_overlay_lists,fix_start_end_in_overlays,fix_overlays_before) (unchain_overlay,): Removed functions of the old list data-structure. (swap_buffer_overlays, make_sortvec_item): New functions. (sort_overlays): Adapt to changes and tree data-structure. (sortvec): Moved to buffer.h . (make_lispy_interval_node, overlay_tree, overlay-tree) [ITREE_DEBUG]: New debugging functions. * src/buffer.h (overlays_before, overlays_after): Removed struct member of the list data-structure. (overlays): Added tree struct member. (sortvec): Moved here from buffer.c . (GET_OVERLAYS_AT): Adapt to changes. (set_buffer_intervals, OVERLAY_START, OVERLAY_END, OVERLAY_PLIST): Adapt to tree data-structure. (OVERLAY_POSITION): Removed macro of the list data-structure. (OVERLAY_REAR_ADVANCE_P, OVERLAY_FRONT_ADVANCE_P): New macros. (overlay_start, overlay_end) (set_overlay_region, maybe_alloc_buffer_overlays) (free_buffer_overlays, add_buffer_overlay) (remove_buffer_overlay, buffer_overlay_iter_start) (buffer_overlay_iter_next, buffer_overlay_iter_finish) (buffer_overlay_iter_narrow): New functions. (compare_overlays, make_sortvec_item): Export functions. * src/editfns.c (overlays_around): Reuse overlays_in. (get-pos-property): Adapt to tree data-structure. (transpose-regions): Remove call to deleted function. * src/fileio.c: (insert-file-contents): Remove references to deleted struct member. * src/fns.c (internal_equal): Adapt to tree data-structure. * src/indent.c (check_display_width): Adapt to tree data-structure. (skip_invisible): Remove call to deleted function. * src/insdel.c (adjust_markers_for_insert): Remove calls to deleted functions. * src/intervals.c (adjust_for_invis_intang): Adapt to tree data-structure. * src/keyboard.c (adjust_point_for_property): Adapt to tree data-structure. * src/lisp.h (Lisp_Overlay): Modified struct layout. * src/print.c (temp_output_buffer_setup, print_object): Adapt to tree data-structure. * src/textprop.c (get_char_property_and_overlay): Adapt to tree data-structure. Take advantage of the new data-structure. * src/window.h (overlay_matches_window): New function. * src/xdisp.h (next_overlay_change): Removed function. Use next-overlay-change, which does not use xmalloc anymore. (handle_single_display_spec, load_overlay_strings) (back_to_previous_visible_line_start, note_mouse_highlight): Adapt to tree data-structure. (move_it_to, display_line): Remove calls to deleted functions. * src/xfaces.c (face_at_buffer_position): Adapt to changes and tree data-structure. * test/src/buffer-tests.el: Many tests regarding overlays added. * test/manual/noverlay/itree-tests.c: New file with tests of the tree data-structure on the C level. * test/manual/noverlay/Makefile.in: New file. * test/manual/noverlay/check-sanitize.sh: New file. * test/manual/noverlay/emacs-compat.h: New file. * test/manual/noverlay/.gitignore: New file. * test/manual/noverlay/overlay-perf.el: New file providing performance tests. * test/manual/noverlay/many-errors.h: New file.
* | | Fix rare problems with current-column when text is invisibleEli Zaretskii2022-10-261-0/+8
| |/ |/| | | | | | | | | * src/indent.c (scan_for_column, compute_motion): Don't miss compositions when the position to check for composition happens to be inside invisible text. (Bug#58791)
* | Use truncated-partial-width-window-p in more places (bug#56815)Juri Linkov2022-08-271-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/simple.el (line-move, line-move-finish): Use truncated-partial-width-window-p. * lisp/window.el (count-screen-lines, scroll-command--goto-goal-column): Use truncated-partial-width-window-p. (truncated-partial-width-window-p): Replace window-width with window-total-width. * src/indent.c (scan_for_column): Bring the logic of using truncated-partial-width-window-p closer to what the display engine does.
* | Further speedups of redisplay of long and truncated linesEli Zaretskii2022-08-141-7/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/xdisp.c (mode_line_update_needed, redisplay_window) (decode_mode_spec): Don't avoid calling current_column, as it is now fast enough. (redisplay_window) <optional_new_start>: Don't call 'move_it_to' if its result will not be used. (Flong_line_optimizations_p): New primitive. * src/indent.c (Fcurrent_column): Doc fix. (current_column, scan_for_column): When in a buffer with long and/or truncated lines, quickly return an approximate value. * src/window.c (Frecenter): Use the old text-mode code when the buffer has very long lines. * lisp/simple.el (line-move): Avoid costly calls to 'line-move-partial' and 'line-move-visual' when lines are truncated and/or very long. (move-beginning-of-line): Call 'line-beginning-position' instead of the slower 'skip-chars-backward'. * etc/NEWS: Announce 'long-line-optimizations-p'.
* | Fix C-n/C-p inside bidirectional textEli Zaretskii2022-08-061-1/+9
| | | | | | | | | | | | | | | | | | | | * src/xdisp.c (move_it_by_lines, try_cursor_movement): Handle glyph rows whose direction of increasing buffer positions is reverse of the normal: going down in the window makes buffer positions higher. * src/indent.c (Fvertical_motion): When looking for the last glyph row occupied by point, take into account the bidi iteration direction.
* | Merge from origin/emacs-28Stefan Kangas2022-07-311-2/+7
|\ \ | | | | | | | | | | | | | | | eb11dae499 Improve documentation of column-related functions c95a34c960 * src/macfont.m (macfont_open): Initialize font->space_wid... 31a6a37d45 Improve indexing of keymap variables
| * | Improve documentation of column-related functionsEli Zaretskii2022-07-301-2/+7
| | | | | | | | | | | | | | | | | | * doc/lispref/text.texi (Primitive Indent, Columns): * src/indent.c (Fcurrent_indentation, Fmove_to_column): Document that column counting ignores invisible text. (Bug#56837)
* | | Avoid calling 'current_column' in buffers with long lines.Eli Zaretskii2022-07-231-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | * src/xdisp.c (decode_mode_spec, redisplay_window) (mode_line_update_needed): * src/indent.c (Fcurrent_column): In a buffer with long-line optimizations enabled, avoid calling 'current_column', which is very slow in that case.
* | | Allow plist-get/plist-put/plist-member to take a comparison functionLars Ingebrigtsen2022-06-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/lists.texi (Plist Access): Document it. * lisp/filesets.el (filesets-reset-fileset) (filesets-ingroup-cache-get): (filesets-ingroup-cache-put): (filesets-build-menu-now): Don't use lax-plist functions. * lisp/simple.el (lax-plist-put, lax-plist-get): Moved here from fns.c and make obsolete. * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Don't mark plist functions as side-effect-free or pure. * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Adjust type. * lisp/emacs-lisp/shortdoc.el (list): Don't document deprecated functions. * src/xdisp.c (build_desired_tool_bar_string): (display_mode_element): (store_mode_line_string): (display_string): (produce_stretch_glyph): (note_mode_line_or_margin_highlight): (note_mouse_highlight): * src/w32.c (serial_configure): * src/sysdep.c (serial_configure): * src/sound.c (parse_sound): * src/process.c (Fset_process_buffer): (Fset_process_sentinel): (Fprocess_contact): (Fmake_process): (Fmake_pipe_process): (Fset_network_process_option): (Fserial_process_configure): (Fmake_serial_process): (set_network_socket_coding_system): (finish_after_tls_connection): (connect_network_socket): (Fmake_network_process): (server_accept_connection): * src/lread.c (ADDPARAM): (hash_table_from_plist): * src/keyboard.c (make_lispy_position): * src/indent.c (check_display_width): * src/image.c (postprocess_image): * src/gnutls.c (gnutls_verify_boot): (Fgnutls_boot): (gnutls_symmetric): (Fgnutls_hash_mac): (Fgnutls_hash_digest): * src/dired.c (filter): * src/data.c (add_to_function_history): * src/coding.c (Fcoding_system_put): Adjust callers from Fplist_put (etc) to plist_put. * src/fns.c (plist_get): (plist_put): (plist_member): New functions (without optional third parameter) to be used in C code. * src/fns.c (Fplist_get, Fplist_put, Fplist_member): Take an optional predicate parameter (bug#47425). * src/lisp.h: Declare new plist_put, plist_get and plist_member functions. * test/lisp/json-tests.el (test-json-add-to-plist): Use plist-get. * test/src/fns-tests.el (test-cycle-lax-plist-get): (test-cycle-lax-plist-put): (lax-plist-get/odd-number-of-elements): (test-plist): Remove lax-plist tests, since semantics have changed (they no longer error out on cycles).
* | | Merge branch 'abort-redisplay'Eli Zaretskii2022-06-241-0/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows abandoning the redisplay of a window that takes too long to complete. Bug#45898 * src/xdisp.c (update_redisplay_ticks): New function. (init_iterator, set_iterator_to_next): Call 'update_redisplay_ticks'. (syms_of_xdisp) <max_redisplay_ticks>: New variable. <list_of_error>: Remove 'void-variable': it is no longer needed, since 'calc_pixel_width_or_height' can no longer signal a void-variable error, and it gets in the way of aborting redisplay via 'redisplay_window_error'. * src/keyboard.c (command_loop_1): Reinitialize the tick count before executing each command in the loop. * src/syntax.c (scan_sexps_forward): Call 'update_redisplay_ticks' after finishing the loop. * src/dispnew.c (make_current): Make sure enabled rows of the current matrix have a valid hash, even if redisplay of a window was aborted due to slowness. This avoids assertion violations in 'scrolling_window' due to the wrong hash value. * src/xdisp.c (display_working_on_window_p): New global variable. (unwind_display_working_on_window): New function. * src/keyboard.c (command_loop_1): Reset 'display_working_on_window_p' before and after executing commands. * src/window.c (Frecenter, window_scroll, displayed_window_lines): * src/indent.c (Fvertical_motion): Set 'display_working_on_window_p' before calling 'start_display'. * src/syntax.c (scan_sexps_forward): Call 'update_redisplay_ticks' after finishing the loop. * src/regex-emacs.c (re_match_2_internal): * src/bidi.c (bidi_find_bracket_pairs, bidi_fetch_char) (bidi_paragraph_init, bidi_find_other_level_edge): Update the redisplay tick count as appropriate, when moving the iterator by one character position actually requires to examine many more positions. * src/xdisp.c (redisplay_window_error): Show messages about aborted redisplay of a window as delayed-warnings. * doc/emacs/trouble.texi (DEL Does Not Delete): Move to the end of the chapter. This issue is no longer frequent or important as it was back in Emacs 20 days. (Long Lines): Document 'max-redisplay-ticks'. * doc/emacs/emacs.texi (Top): Update the detailed menu. * etc/NEWS: Announce 'max-redisplay-ticks'.
| * | | Allow aborting redisplay stuck in 'parse-partial-sexp'Eli Zaretskii2022-06-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/xdisp.c (display_working_on_window_p): New global variable. (unwind_display_working_on_window): New function. * src/keyboard.c (command_loop_1): Reset 'display_working_on_window_p' before and after executing commands. * src/window.c (Frecenter, window_scroll, displayed_window_lines): * src/indent.c (Fvertical_motion): Set 'display_working_on_window_p' before calling 'start_display'. * src/syntax.c (scan_sexps_forward): Call 'update_redisplay_ticks' after finishing the loop.
* | | | Use BASE_EQ instead of EQ where obviously safeMattias Engdegård2022-06-161-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/alloc.c (deadp): * src/buffer.c (reset_buffer_local_variables, candidate_buffer) (Fkill_buffer, Fbuffer_swap_text, Fmake_overlay, Fmove_overlay): * src/callint.c (Fcall_interactively): * src/coding.c (decode_coding_object, encode_coding_object) (code_convert_region, Ffind_operation_coding_system): * src/comp.c (Fcomp_el_to_eln_rel_filename): * src/conf_post.h (RE_TRANSLATE_P): * src/data.c (Fkill_local_variable, Fash, expt_integer): * src/dired.c (file_name_completion): * src/dispnew.c (set_window_cursor_after_update, update_frame_1) (Fframe_or_buffer_changed_p): * src/doc.c (Fdocumentation, Fdocumentation_property) (default_to_grave_quoting_style): * src/editfns.c (Fconstrain_to_field, save_excursion_save) (save_excursion_restore, Fngettext): * src/eval.c (Fautoload, un_autoload, specbind): * src/fileio.c (Fmake_temp_file_internal): * src/fns.c (string_char_to_byte, string_byte_to_char) (Fnthcdr, Fnreverse): * src/indent.c (vmotion): * src/inotify.c (add_watch): * src/keyboard.c (command_loop_1, read_char) (read_char_minibuf_menu_prompt): * src/lread.c (oblookup): * src/macfont.m (macfont_descriptor_entity, macfont_open): * src/minibuf.c (Finnermost_minibuffer_p, Ftry_completion) (Ftest_completion): * src/nsfns.m (ns_set_icon_name): * src/pdumper.c (dump_queue_dequeue): * src/pgtkfns.c (pgtk_set_icon_type, pgtk_set_icon_name): * src/process.c (Faccept_process_output): * src/textprop.c (set_text_properties): * src/w32fns.c (w32_set_icon_type, w32_set_icon_name): * src/w32select.c (validate_coding_system): * src/window.c (decode_next_window_args, window_loop) (save_window_save): * src/xdisp.c (wset_redisplay): * src/xfaces.c (Fx_family_fonts, resolve_face_name) (gui_supports_face_attributes_p): * src/xfns.c (x_set_icon_type, x_set_icon_name): * src/xselect.c (clean_local_selection_data): Use BASE_EQ instead of EQ where it is obvious that neither argument can be a symbol with properties or at least one argument is a non-symbol.
* | | Account for remapped faces in $COLUMNS and $LINES in EshellJim Porter2022-06-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/window.h (window_body_unit): New enum... (window_body_width): ... use it. * src/window.c (window_body_unit_from_symbol): New function. (window_body_height, window_body_width): Make PIXELWISE a 'window_body_unit'. (window-body-height, window-body-width): Accept 'remap' for PIXELWISE. (window-lines-pixel-dimensions, window_change_record_windows) (run_window_change_functions, resize_frame_windows, grow_mini_window) (shrink_mini_window, scroll-left, scroll-right): Update calls to 'window_body_height' and 'window_body_width'. * src/indent.c (compute_motion): Update calls to 'window_body_width'. * lisp/eshell/em-ls.el (eshell-ls-find-column-widths) (eshell-ls-find-column-lengths): Use 'window-body-width'. * lisp/eshell/esh-var.el (eshell-variable-aliases-list): Use 'window-body-width' and 'window-body-height'. * test/lisp/eshell/esh-var-tests.el (esh-var-test/window-height) (esh-var-test/window-width): Rename to... (esh-var-test/lines-var, esh-var-test/columns-var): ... and update expected value. * doc/lispref/windows.texi (Window Sizes): Document new behavior of PIXELWISE argument for 'window-body-width' and 'window-body-height'. * etc/NEWS: Announce this change (bug#55696).
* | | Merge from origin/emacs-28Eli Zaretskii2022-04-161-1/+4
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d53c999b4a Further vcs-cvs/rcs-responsible-p updates from master dc3d1628ec ; * src/sysdep.c: Fix mistake in previous commit 855e15dbf1 Fix builds on older versions of macOS 9da744e450 Fix documentation of Outline minor mode options a8bb12ab05 Improve discoverability of 'insert-directory-program' 3f166bdf44 ; * etc/PROBLEMS: Describe MS-Windows issues with fonts. ... 803ac857ee Fix cursor motion under truncate-lines with Flymake fringe... # Conflicts: # etc/PROBLEMS # lisp/outline.el # src/sysdep.c
| * | Fix cursor motion under truncate-lines with Flymake fringe indicatorEli Zaretskii2022-04-151-1/+4
| | | | | | | | | | | | | | | | | | * src/indent.c (Fvertical_motion): Don't consider fringe bitmaps as "images" for the purpose of vertical-motion logic dealing with overshooting buffer positions. (Bug#54946)
* | | Replace ptrdiff_t with new specpdl_ref type for specpdl referencesMattias Engdegård2022-02-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The specpdl_ref type is just an alias for ptrdiff_t; the compiled code remains the same. All operations on specpdl_ref (arithmetic, comparison etc) now go through inline functions. The bulk of the change is almost completely mechanical. It is done to prepare for a type-safe representation and subsequent performance improvement. * src/lisp.h (specpdl_ref, specpdl_count_to_ref, specpdl_ref_to_count) (specpdl_ref_eq, specpdl_ref_lt, specpdl_ref_valid_p) (make_invalid_specpdl_ref, specpdl_ref_add, specpdl_ref_to_ptr): New. (SPECPDL_INDEX, struct handler, USE_SAFE_ALLOCA, safe_free) (safe_free_unbind_to): * src/alloc.c (run_finalizer_function, inhibit_garbage_collection) (garbage_collect, Fgarbage_collect, which_symbols): * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start): * src/buffer.c (Fkill_buffer, Fset_buffer_major_mode, Fmove_overlay) (Fdelete_overlay): * src/bytecode.c (exec_byte_code): * src/callint.c (Ffuncall_interactively, Fcall_interactively): * src/callproc.c (Fcall_process, call_process, create_temp_file) (Fcall_process_region): * src/charset.c (load_charset_map_from_file): * src/coding.c (decode_coding_gap, decode_coding_object) (encode_coding_object, Fread_coding_system): * src/comp.c (emit_static_object, helper_unbind_n, load_comp_unit): * src/composite.c (update_compositions, autocmp_chars): * src/cygw32.c (conv_filename_to_w32_unicode) (conv_filename_from_w32_unicode): * src/data.c (notify_variable_watchers): * src/decompress.c (Fzlib_decompress_region): * src/dired.c (directory_files_internal, file_name_completion) (file_attributes): * src/dispnew.c (Fredisplay): * src/doc.c (get_doc_string, Fsnarf_documentation): * src/editfns.c (Fsave_excursion, Fsave_current_buffer) (Freplace_buffer_contents, Fsubst_char_in_region, Fsave_restriction) (styled_format): * src/emacs-module.c (Fmodule_load, funcall_module): * src/emacs.c (init_cmdargs, Fdump_emacs): * src/eval.c (call_debugger, do_debug_on_call, FletX, Flet) (Ffuncall_with_delayed_message, Funwind_protect) (internal_lisp_condition_case, signal_or_quit) (load_with_autoload_queue, Feval, grow_specpdl_allocation) (record_in_backtrace, eval_sub, Ffuncall, apply_lambda) (funcall_lambda, clear_unwind_protect, set_unwind_protect) (set_unwind_protect_ptr, unbind_to, Fbacktrace_eval): * src/fileio.c (Fmake_temp_file_internal, Fcopy_file, Frename_file) (Finsert_file_contents, write_region, Fdo_auto_save): * src/fns.c (Fyes_or_no_p, Frequire, hash_table_user_defined_call): * src/fringe.c (update_window_fringes): * src/gtkutil.c (xg_dialog_run): * src/haiku_io.c (c_specpdl_idx_from_cxx): * src/haiku_support.cc (be_popup_file_dialog): * src/haiku_support.h (c_specpdl_idx_from_cxx): * src/haikufns.c (haiku_create_frame, haiku_create_tip_frame) (haiku_hide_tip, Fx_show_tip, Fhaiku_read_file_name): * src/haikumenu.c (haiku_popup_dialog, set_frame_menubar): * src/image.c (slurp_file): * src/indent.c (line_number_display_width, Fvertical_motion): * src/insdel.c (signal_before_change, signal_after_change) (Fcombine_after_change_execute): * src/intervals.c (get_local_map): * src/json.c (lisp_to_json_nonscalar_1, Fjson_serialize, Fjson_insert) (Fjson_parse_string, Fjson_parse_buffer): * src/keyboard.c (recursive_edit_1, Frecursive_edit, cmd_error) (Finternal_track_mouse, command_loop_1, read_menu_command) (safe_run_hooks, read_event_from_main_queue, read_char, timer_check_2) (menu_item_eval_property, read_key_sequence, read_key_sequence_vs) (Fsuspend_emacs): * src/keymap.c (Fcurrent_active_maps, Fdescribe_vector) (Fhelp__describe_vector): * src/lread.c (Fload, save_match_data_load, readevalloop) (Feval_buffer, Feval_region, grow_read_buffer, read_integer, read1): * src/macros.c (Fexecute_kbd_macro): * src/menu.c (x_popup_menu_1): * src/minibuf.c (read_minibuf, set_minibuffer_mode) (read_minibuf_unwind, Fread_string, Fread_buffer): * src/nsfns.m (Fx_create_frame, Fx_show_tip): * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog): * src/pdumper.c (Fdump_emacs_portable): * src/pgtkfns.c (Fx_create_frame, x_create_tip_frame, x_hide_tip) (Fx_show_tip, Fpgtk_print_frames_dialog, Fx_file_dialog, Fx_select_font): * src/pgtkmenu.c (set_frame_menubar, create_and_show_popup_menu) (pgtk_menu_show, create_and_show_dialog, pgtk_dialog_show) (pgtk_popup_dialog): * src/pgtkterm.c (pgtk_cr_export_frames): * src/print.c (PRINTPREPARE, temp_output_buffer_setup) (Fprin1_to_string, print_vectorlike): * src/process.c (Fmake_process, create_process, Fmake_pipe_process) (Fmake_serial_process, connect_network_socket, Fmake_network_process) (network_interface_info, server_accept_connection) (wait_reading_process_output, read_process_output, exec_sentinel): * src/regex-emacs.c (re_match_2_internal): * src/search.c (looking_at_1, fast_looking_at, search_buffer_re): * src/sound.c (Fplay_sound_internal): * src/sysdep.c (system_process_attributes): * src/term.c (tty_menu_show): * src/textprop.c (Fnext_single_char_property_change) (Fprevious_single_char_property_change, add_text_properties_1) (set_text_properties, set_text_properties_1, Fremove_text_properties) (Fremove_list_of_text_properties): * src/thread.c (Fmutex_lock, invoke_thread_function): * src/undo.c (truncate_undo_list): * src/w32fns.c (Fx_create_frame, w32_create_tip_frame, w32_hide_tip) (Fx_show_tip, Fx_file_dialog): * src/w32font.c (Fx_select_font): * src/w32menu.c (set_frame_menubar): * src/window.c (window_list, next_window, window_list_1) (run_window_configuration_change_hook, Frun_window_scroll_functions) (run_window_change_functions, set_window_buffer) (temp_output_buffer_show, window_scroll, scroll_command) (Fscroll_other_window, Fscroll_other_window_down): * src/xdisp.c (safe__call, handle_fontified_prop, handle_face_prop) (handle_single_display_spec, Fbuffer_text_pixel_size) (message_dolog, with_echo_area_buffer, setup_echo_area_for_printing) (display_echo_area, set_message, clear_message, echo_area_display) (gui_consider_frame_title, prepare_menu_bars, update_menu_bar) (update_tab_bar, update_tool_bar, redisplay_internal) (redisplay_preserve_echo_area, run_window_scroll_functions) (redisplay_window, extend_face_to_end_of_line) (display_count_lines_logically, display_count_lines_visually) (display_mode_lines, display_mode_line, Fformat_mode_line) (decode_mode_spec): * src/xfns.c (Fx_create_frame, x_create_tip_frame, x_hide_tip) (Fx_show_tip, Fx_file_dialog, Fx_select_font, Fx_print_frames_dialog): * src/xmenu.c (set_frame_menubar, create_and_show_popup_menu) (x_menu_show, create_and_show_dialog, x_dialog_show) (xw_popup_dialog): * src/xselect.c (x_get_local_selection, x_reply_selection_request) (x_handle_selection_request, wait_for_property_change): * src/xterm.c (x_cr_export_frames, x_connection_closed): Replace ptrdiff_t with specpdl_ref for referencing specpdl and use the corresponding functions instead of direct arithmetic.
* | | Fix 'current-column' in the presence of display stringsEli Zaretskii2022-02-051-25/+36
| | | | | | | | | | | | | | | | | | | | | * src/indent.c (check_display_width): Support calculation of width of 'display' properties whose values are strings. This fixes the value returned by 'current-column' when display strings are present between BOL and point. (Bug#53795)
* | | Merge from origin/emacs-28Eli Zaretskii2022-01-011-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+1
| | |
* | | src/indent.c, src/xdisp.c: Questions about with_echo_area_buffer_unwind_dataStefan Monnier2021-11-221-0/+1
|/ /
* | Fix infloop in lsp-modeEli Zaretskii2021-05-041-0/+5
| | | | | | | | | | | | | | | | * src/indent.c (line_number_display_width): Make sure the selected window's buffer is current before using display code on it: redisplay assumes that the window's buffer is current at all times. Reported by Evgeny Kurnevsky via lsp-mode's issue 1621, https://github.com/emacs-lsp/lsp-mode/issues/1621.
* | Fix typosMattias Engdegård2021-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/display.texi (Size of Displayed Text): * doc/lispref/windows.texi (Buffer Display Action Functions): * etc/NEWS: * etc/ORG-NEWS (Org-Attach has been refactored and extended): * lisp/battery.el (display-battery-mode, battery--upower-subsribe): * lisp/calendar/parse-time.el: * lisp/dired-x.el: * lisp/emacs-lisp/chart.el (chart-sequece, chart-bar-quickie): * lisp/emacs-lisp/eldoc.el (eldoc-echo-area-use-multiline-p) (eldoc-documentation-strategy): * lisp/emacs-lisp/pcase.el (pcase--split-pred, pcase--u1): * lisp/gnus/gnus-search.el (gnus-search-expandable-keys) (gnus-search-parse-query, gnus-search-query-return-string) (gnus-search-imap, gnus-search-imap-search-command) (gnus-search-transform-expression): * lisp/gnus/nnselect.el: * lisp/isearch.el (isearch-lazy-count-format): * lisp/mh-e/mh-show.el (mh-show-msg): * lisp/net/dictionary-connection.el (dictionary-connection-open): * lisp/net/dictionary.el (dictionary-default-popup-strategy) (dictionary, dictionary-split-string, dictionary-do-select-dictionary) (dictionary-display-dictionarys, dictionary-search) (dictionary-tooltip-mode): * lisp/net/eudcb-macos-contacts.el (eudc-macos-contacts-set-server): * lisp/net/mailcap.el (mailcap-mime-data): * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): * lisp/nxml/nxml-mode.el (nxml-mode): * lisp/progmodes/cc-engine.el: * lisp/progmodes/cperl-mode.el (cperl-mode) (cperl-fontify-syntaxically): * lisp/progmodes/flymake.el (flymake-diagnostic-functions): * lisp/progmodes/verilog-mode.el (verilog--supressed-warnings) (verilog-preprocess): * lisp/simple.el (self-insert-uses-region-functions): * lisp/textmodes/bibtex.el (bibtex-copy-summary-as-kill): * lisp/textmodes/texnfo-upd.el (texinfo-insert-master-menu-list): * src/dispnew.c: * src/font.c (Ffont_get): * src/indent.c (compute_motion): * src/process.c (init_process_emacs): * src/w32fns.c (deliver_wm_chars): * test/lisp/jsonrpc-tests.el (deferred-action-complex-tests): Fix typos in documentation, comments, and internal identifiers.
* | Update copyright year to 2021Paul Eggert2021-01-011-1/+1
| | | | | | | | Run "TZ=UTC0 admin/update-copyright".
* | Fix 'move-to-column' when invisible text follows a TABEli Zaretskii2020-09-301-11/+19
| | | | | | | | | | | | | | | | | | | | | | * src/indent.c (scan_for_column): Accept 2 more arguments, and report through them the position corresponding to PREVCOL. All callers changed. (Fmove_to_column): Use the prev_col's position to test for a TAB instead of assuming that the TAB is just before point (which is false when there's invisible text around). (Bug#43587) * test/src/indent-tests.el: New file.
* | Merge from origin/emacs-27Glenn Morris2020-07-291-2/+2
|\ \ | | | | | | | | | | | | | | | 4b3085a7fe Fix last change efdd4632c9 Fix Arabic shaping when column-number-mode is in effect d5acc50941 Fix description of kmacro-* commands in the user manual
| * | Fix Arabic shaping when column-number-mode is in effectPip Cet2020-07-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | * src/indent.c (scan_for_column, compute_motion): Pass -1, instead of NEUTRAL_DIR, to 'composition_reseat_it'. * src/composite.c (composition_reseat_it): Interpret negative value of BIDI_LEVEL to mean the caller doesn't know what is the bidi direction of the text. (Bug#41005)
* | | Prefer more inline functions in character.hPaul Eggert2020-04-171-13/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/buffer.h (fetch_char_advance, fetch_char_advance_no_check) (buf_next_char_len, next_char_len, buf_prev_char_len) (prev_char_len, inc_both, dec_both): New inline functions, replacing the old character.h macros FETCH_CHAR_ADVANCE, FETCH_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS, INC_POS, BUF_DEC_POS, DEC_POS, INC_BOTH, DEC_BOTH respectively. All callers changed. These new functions all assume buffer primitives and so need to be here rather than in character.h. * src/casefiddle.c (make_char_unibyte): New static function, replacing the old MAKE_CHAR_UNIBYTE macro. All callers changed. (do_casify_unibyte_string): Use SINGLE_BYTE_CHAR_P instead of open-coding it. * src/ccl.c (GET_TRANSLATION_TABLE): New static function, replacing the old macro of the same name. * src/character.c (string_char): Omit 2nd arg. 3rd arg can no longer be NULL. All callers changed. * src/character.h (SINGLE_BYTE_CHAR_P): Move up. (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE, PREV_CHAR_BOUNDARY) (STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE) (FETCH_STRING_CHAR_ADVANCE) (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE) (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, FETCH_CHAR_ADVANCE) (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, INC_BOTH) (DEC_BOTH, BUF_INC_POS, BUF_DEC_POS): Remove. (make_char_multibyte): New static function, replacing the old macro MAKE_CHAR_MULTIBYTE. All callers changed. (CHAR_STRING_ADVANCE): Remove; all callers changed to use CHAR_STRING. (NEXT_CHAR_BOUNDARY): Remove; it was unused. (raw_prev_char_len): New inline function, replacing the old PREV_CHAR_BOUNDARY macro. All callers changed. (string_char_and_length): New inline function, replacing the old STRING_CHAR_AND_LENGTH macro. All callers changed. (STRING_CHAR): Rewrite in terms of string_char_and_length. (string_char_advance): New inline function, replacing the old STRING_CHAR_ADVANCE macro. All callers changed. (fetch_string_char_advance): New inline function, replacing the old FETCH_STRING_CHAR_ADVANCE macro. All callers changed. (fetch_string_char_as_multibyte_advance): New inline function, replacing the old FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE macro. All callers changed. (fetch_string_char_advance_no_check): New inline function, replacing the old FETCH_STRING_CHAR_ADVANCE_NO_CHECK macro. All callers changed. * src/regex-emacs.c (HEAD_ADDR_VSTRING): Remove; no longer used. * src/syntax.c (scan_lists): Use dec_bytepos instead of open-coding it. * src/xdisp.c (string_char_and_length): Rename from string_char_and_length to avoid name conflict with new function in character.h. All callers changed.
* | | Fix type-checking bug in vertical-motionPaul Eggert2020-04-161-8/+6
| | | | | | | | | | | | | | | * src/indent.c (Fvertical_motion): Fix bug where the type of lcols was checked too late.
* | | * src/indent.c (Fvertical_motion): Fix int/Lisp_Object mix up.Glenn Morris2020-04-161-1/+1
| | |
* | | Avoid compiler warning in indent.cEli Zaretskii2020-04-161-0/+2
|/ / | | | | | | | | * src/indent.c (Fvertical_motion): Avoid compilation warning. Reported by Juanma Barranquero <lekktu@gmail.com>.
* | Update copyright year to 2020Paul Eggert2020-01-011-1/+1
| | | | | | | | Run "TZ=UTC0 admin/update-copyright $(git ls-files)".