summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix extraneous overscroll activation on HaikuPo Lu2022-03-141-1/+6
| | | | | | | | | * src/haiku_support.cc (class EmacsScrollBar): New field `maybe_overscroll'. (MouseDown): Set that field. (MouseUp): Clear that field. (MouseMoved): Also test `maybe_overscroll' to ensure that a grab started inside the scroll bar.
* Fix tool-bar highlight persisting after mouse moves onto WM framePo Lu2022-03-141-1/+21
| | | | | * src/xterm.c (handle_one_xevent): Always report MotionNotify coordinates in terms of the edit widget.
* * src/bytecode.c: Include sysstdio.h, for fprint, stderr.Glenn Morris2022-03-131-0/+1
| | | | ; Ref https://hydra.nixos.org/build/169207408
* Enable overscroll on Haiku horizontal scroll barsPo Lu2022-03-142-5/+14
| | | | | | | * src/haiku_support.cc (MouseMoved): Handle horizontal directions correctly. * src/haikuterm.c (haiku_set_horizontal_scroll_bar_thumb): Enable overscrolling on scroll bar widget.
* Fix scroll bar movement right before overscroll begins on HaikuPo Lu2022-03-141-24/+19
| | | | | * src/haikuterm.c (haiku_set_scroll_bar_thumb): Make sure value and size are within bounds even if portion adjustment is off.
* Really fix find-func for defgenericLars Ingebrigtsen2022-03-131-1/+1
| | | | | * lisp/emacs-lisp/find-func.el (find-function-regexp): Really add defgeneric.
* Make vtable sorting stableLars Ingebrigtsen2022-03-131-10/+14
| | | | | * lisp/emacs-lisp/vtable.el (vtable--sort): Make the sorting stable.
* Clang debug notesPaul Eggert2022-03-131-4/+9
| | | | | * etc/DEBUG: Don’t imply Clang works as well as GCC when debugging Emacs. Mention a coverage problem with Clang.
* Fix evaluation of negated argument predicates in EshellJim Porter2022-03-131-6/+6
| | | | | * lisp/eshell/em-pred.el (eshell-add-pred-func): Let-bind 'pred' so the lambdas see the original value (bug#54369).
* * src/bytecode.c (sf_set_ptr): Cast pointer to type of right size.Mattias Engdegård2022-03-131-1/+1
|
* Separate bytecode stackMattias Engdegård2022-03-136-51/+303
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a dedicated stack for bytecode, instead of using the C stack. Stack frames are managed explicitly and we stay in the same exec_byte_code activation throughout bytecode function calls and returns. In other words, exec_byte_code no longer uses recursion for calling bytecode functions. This results in better performance, and bytecode recursion is no longer limited by the size of the C stack. The bytecode stack is currently of fixed size but overflow is handled gracefully by signalling a Lisp error instead of the hard crash that we get now. In addition, GC marking of the stack is now faster and more precise. Full precision could be attained if desired. * src/alloc.c (ATTRIBUTE_NO_SANITIZE_ADDRESS): Make non-static. * src/bytecode.c (enum stack_frame_index, BC_STACK_SIZE) (sf_get_ptr, sf_set_ptr, sf_get_lisp_ptr, sf_set_lisp_ptr) (sf_get_saved_pc, sf_set_saved_pc, init_bc_thread, free_bc_thread) (mark_bytecode, Finternal_stack_stats, valid_sp): New. (exec_byte_code): Adapt to use the new bytecode stack. (syms_of_bytecode): Add defsubr. * src/eval.c (unwind_to_catch): Restore saved stack frame. (push_handler_nosignal): Save stack frame. * src/lisp.h (struct handler): Add act_rec member. (get_act_rec, set_act_rec): New. * src/thread.c (mark_one_thread): Call mark_bytecode. (finalize_one_thread): Free bytecode thread state. (Fmake_thread, init_threads): Set up bytecode thread state. * src/thread.h (struct bc_thread_state): New. (struct thread_state): Add bytecode thread state.
* Simplify exec_byte_code argumentsMattias Engdegård2022-03-133-22/+17
| | | | | | | | | | | | Pass the function object and encoded arity, not the other components. This speeds up several call paths and is necessary for improvements to come. * src/bytecode.c (Fbyte_code): Make a new byte code object for execution. This is slower but performance isn't critical here. (exec_byte_code): Retrieve components from the passed function. * src/eval.c (fetch_and_exec_byte_code): * src/lisp.h (exec_byte_code): Update signature.
* * lisp/net/ange-ftp.el (ange-ftp-ls): Make a loop when sanitizing LSARGS.Michael Albinus2022-03-131-1/+1
|
* Add cl-defgeneric to find-func, tooLars Ingebrigtsen2022-03-131-1/+1
| | | | | * lisp/emacs-lisp/find-func.el (find-function-regexp): Add cl-defgeneric, too (bug#54343).
* Allow overscrolling on Haiku scroll bars that are fullPo Lu2022-03-131-1/+1
| | | | | * src/haiku_support.cc (MouseMoved): Allow overscrolling even if portion is less than 1.0.
* Fix pointer event tracking on top of Haiku scroll barsPo Lu2022-03-131-0/+3
| | | | | * src/haiku_support.cc (MouseDown): Set correct mouse event mask in case the scroll bar widget decides to not do that.
* Fix splurious button events being generated on HaikuPo Lu2022-03-131-8/+12
| | | | | * src/haiku_support.cc (MouseDown, MouseUp): Don't process if the grab is not appropriate for the buttons that were pressed.
* Fix setting IM spot after key press eventsPo Lu2022-03-131-5/+20
| | | | | | * src/xterm.c (handle_one_xevent): Check f is not NULL before trying to set its status area and set preedit spot location after KeyPress events.
* Fix esh-proc-tests on macOSMattias Engdegård2022-03-131-1/+1
| | | | | | * test/lisp/eshell/esh-proc-tests.el (esh-proc-test/kill-pipeline): Add pattern matching output when killing a process on macOS (and possibly other BSDs).
* ; * etc/NEWS: Fix typo.Eli Zaretskii2022-03-131-1/+2
|
* ; * etc/NEWS: Cleanups as followup to bug#50143.Eli Zaretskii2022-03-131-4/+6
|
* * quail.el (quail-define-package): Describe VAR form in DOCSTRING better.Visuwesh2022-03-131-2/+2
| | | | | | Bug#50143 Copyright-paperwork-exempt: yes
* Follow contemporary practices in the Tamil input methodsVisuwesh2022-03-133-20/+109
| | | | | | | | | | | | | | | | | | | | | | * lisp/language/ind-util.el (indian-tml-base-digits-table): New table to translate digits. (indian-tml-base-table): Don't translate digits. (indian-tml-itrans-digits-v5-hash): Hashtable that translates digits. * lisp/leim/quail/indian.el (quail-tamil-itrans-compute-signs-table) (quail-tamil-itrans-various-signs-table) (quail-tamil-itrans-various-signs-and-digits-table): Separate out the digits from the signs table using the function 'quail-tamil-itrans-compute-signs-table'. (tamil-itrans-digits, tamil-inscript-digits): New input methods that translates digits. (tamil-itrans, tamil-inscript): Fix table inclusion. * etc/NEWS: Announce the change. Fixes bug#50143. Copyright-paperwork-exempt: yes
* Fix small regression for horizontal scroll barsPo Lu2022-03-131-2/+2
| | | | | | * src/haikuterm.c (haiku_read_socket): Restore previous horizontal scrollbar code, since the change it was intended for was never made.
* Improve overscrolling support on HaikuPo Lu2022-03-131-6/+10
| | | | | | | | * src/haiku_support.cc (class EmacsScrollBar): New field `real_max_value'. (MessageReceived): Set real max value. (MouseMoved): Get rid of magic numbers by using real max value instead.
* ; * haiku_support.cc (MessageReceived): Fix 32-bit build.Po Lu2022-03-131-1/+3
|
* Allow dragging scroll bar for overscroll on HaikuPo Lu2022-03-133-15/+124
| | | | | | | | | | | | | | | | | | * src/haiku_support.cc (class EmacsScrollBar): New fields `in_overscroll', `can_overscroll', `last_overscroll', `last_reported_overscroll_value' and `max_value'. (ValueChanged): Make very sure extraneous value are not generated. (MouseUp): Clear overscroll if enabled. (MouseMoved): If overscroll is enabled and dragging downwards fails to dislodge the maximum value, enable overscrolling. (BView_scroll_bar_update): New parameter `can_overscroll' * src/haiku_support.h: Update prototypes. * src/haikuterm.c (haiku_set_scroll_bar_thumb) (haiku_set_horizontal_scroll_bar_thumb): Adjust parameters to scroll bar update functions. (haiku_read_socket): Take ceiling of bar position if horizontal.
* ; Merge from origin/emacs-28Stefan Kangas2022-03-130-0/+0
|\ | | | | | | | | | | The following commit was skipped: 5ba9c8c364 Emacs pretest 28.0.92
| * Emacs pretest 28.0.92Eli Zaretskii2022-03-127-145/+964
| | | | | | | | | | | | | | | | | | | | | | | | * README: * configure.ac: * nt/README.W32: * msdos/sed2v2.inp: Bump Emacs version to 28.0.92. * etc/AUTHORS: * lisp/ldefs-boot.el: Update for pretest 28.0.92. * ChangeLog.3: Regenerate.
* | Merge from origin/emacs-28Stefan Kangas2022-03-131-43/+171
|\| | | | | | | | | e5b191465d ; * admin/authors.el (authors-canonical-file-name): Remove... 6b0fdf73cf ; Fix data structures in authors.el
| * ; * admin/authors.el (authors-canonical-file-name): Remove debug leftover.Eli Zaretskii2022-03-121-1/+1
| |
| * ; Fix data structures in authors.elEli Zaretskii2022-03-121-44/+172
| | | | | | | | | | | | | | | | | | * admin/authors.el (authors-aliases, authors-renamed-files-alist): Update and correct the databases. (authors-renamed-files-alist): Add commentary explaining how to add entries for renamed/moved files. (authors-canonical-file-name): Clarify the semantics of the arguments.
* | Flocate_file_internal: Protect from `.eln` remappingStefan Monnier2022-03-122-15/+2
| | | | | | | | | | | | | | | | | | | | Don't use `openp`s functionality to remap `.elc` files to `.eln` files since `locate-file` is not specific to ELisp files. This should be not just simpler but more robust than the current hack which tries to undo the damage after the fact. * src/lread.c (Flocate_file_internal): Don't map `.elc` to `.eln`. * lisp/files.el (locate-file): Simplify accordingly.
* | Improve reliaibility of scroll bar dimensions adjustment on GTK 3Po Lu2022-03-133-3/+94
| | | | | | | | | | | | | | | | | | | | * src/gtkutil.c (xg_scroll_bar_size_allocate_cb): New function. (xg_finish_scroll_bar_creation): Attach new signal. (xg_update_scrollbar_pos) (xg_update_horizontal_scrollbar_pos): Also set window dimensions for the event box. * src/xterm.c (x_scroll_bar_configure): New function. * src/xterm.h: Update prototypes.
* | Further locate-file fixes on nativecompLars Ingebrigtsen2022-03-121-1/+2
| | | | | | | | | | * lisp/files.el (locate-file): Fix up previous locate-file change -- don't unconditionally return .elc on nativecomp.
* | Disable esh-proc-test/kill-pipeline on EMBALars Ingebrigtsen2022-03-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | Test esh-proc-test/kill-pipeline condition: (ert-test-failed ((should (string-match-p (rx ...) (buffer-substring-no-properties output-start ...))) :form (string-match-p "\\(?:\\(?:interrupt\\|killed\\)\n\\)" "")
* | Fix EMBA failure for ert-test-record-backtraceLars Ingebrigtsen2022-03-121-2/+5
| | | | | | | | | | * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Make this work with AOT.
* | Return the same file from locate-file in nativecomp and nonLars Ingebrigtsen2022-03-121-1/+10
| | | | | | | | | | | | * lisp/files.el (locate-file): Return the .elc file (if it exists) in nativecomp, too, to mimic the behaviour from non-nativecomp builds (bug#51308).
* | Make find-function-regexp also find cl-defun/defmethodLars Ingebrigtsen2022-03-121-0/+1
| | | | | | | | | | * lisp/emacs-lisp/find-func.el (find-function-regexp): Also find cl-defun and cl-defmethod (bug#54343).
* | * lisp/progmodes/python.el: Account for new keywords.Colin Woodbury2022-03-121-0/+2
| | | | | | | | | | | | * lisp/progmodes/python.el (python-font-lock-keywords-level-2): As of Python 3.10, Python has structured pattern matching. This adds two new keywords which need to be highlighted (bug#54345).
* | Facilitate Customisation of Message-Mode Header Completion BehaviourAlexander Adolf2022-03-121-3/+9
| | | | | | | | | | | | * lisp/gnus/message.el (message-email-recipient-header-regexp): New user option. (message-completion-alist): Use it here.
* | ; * src/eval.c: (grow_specpdl): Remove another redundant declarationMattias Engdegård2022-03-121-2/+0
| |
* | Mark tramp-test30-make-process unstable on EMBALars Ingebrigtsen2022-03-121-1/+3
| | | | | | | | | | * test/lisp/net/tramp-tests.el (tramp-test30-make-process): This times out on EMBA.
* | ; * src/lisp.h: Remove redundant declarationMattias Engdegård2022-03-121-1/+0
| |
* | Remove never-used relative jump opcodesMattias Engdegård2022-03-121-36/+1
| | | | | | | | | | | | * src/bytecode.c (BYTE_CODES, exec_byte_code): Remove relative jump opcodes that seem to have been a short-lived experiment, never used in a release.
* | Remove debug code for opcodes long goneMattias Engdegård2022-03-121-18/+2
| | | | | | | | | | | | * src/bytecode.c (BYTE_CODES, enum byte_code_op, exec_byte_code): Don't display custom messages in debug mode for Bscan_buffer and Bset_mark which were removed long ago.
* | Faster bytecode immediate argument fetchingMattias Engdegård2022-03-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/bytecode.c (FETCH2): Use `|` instead of `+` to combine the bytes forming a 16-bit immediate argument so that GCC (prior to version 12) recognises the idiom and generates a 16-bit load. This applies for little-endian machines with cheap unaligned accesses such as x86[-64], arm64 and power64le. This 1-character change results in a measurable speed gain on many kinds of Lisp code, as 16-bit immediates are used by all jump instructions. Clang performs this optimisation for both `+` and `|` from version 10.
* | Maintain end of specpdl instead of sizeMattias Engdegård2022-03-125-19/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Keep track of the end of specpdl explicitly since that is what we are comparing against on critical code paths. * src/eval.c (init_eval_once_for_pdumper, signal_or_quit) (grow_specpdl_allocation): * src/fileio.c (Fdo_auto_save): * src/lisp.h (grow_specpdl): * src/thread.c (run_thread, Fmake_thread): * src/thread.h (struct thread_state): Replace specpdl_size with specpdl_end, according to the equation specpdl_end = specpdl + specpdl_size.
* | Inline record_in_backtraceMattias Engdegård2022-03-122-35/+36
| | | | | | | | | | | | | | | | | | It's critical in several function call paths. * src/eval.c (grow_specpdl_allocation): Make non-static. (grow_specpdl, record_in_backtrace): Move from here... * src/lisp.h (grow_specpdl, record_in_backtrace): ... to here, and declare inline.
* | Fix the PGTK buildPo Lu2022-03-121-2/+2
| | | | | | | | | | | | * src/gtkutil.c (xg_finish_scroll_bar_creation): Fix ifdefs preventing x_window from being correctly set. (xg_get_scroll_id_for_window): Ifdef out unused function.