summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Fix inaccuracies in documentation of 'message-truncate-lines'Eli Zaretskii2021-08-19
| | | | | | * doc/lispref/display.texi (Echo Area Customization): * src/xdisp.c (syms_of_xdisp): Adjust the documentation of message-truncate-lines to changes that fixed bug#46718.
* ; * src/xdisp.c (hscroll_window_tree): Fix a typo in a comment.Eli Zaretskii2021-08-19
|
* Fix errors with hscrolling mini-windows under truncate-linesEli Zaretskii2021-08-19
| | | | | * src/xdisp.c (hscroll_window_tree): Disallow hscroll in mini-windows that display echo-area messages. (Bug#50096)
* Improve documentation of 'assoc'Eli Zaretskii2021-08-18
| | | | | * doc/lispref/lists.texi (Association Lists): * src/fns.c (Fassoc): Document how TESTFN is called. (Bug#50110)
* Improve documentation of last change.Eli Zaretskii2021-08-18
| | | | | | | * etc/NEWS: Mention the string value of 'auto-composition-mode'. * src/composite.c (syms_of_composite) <auto-composition-mode>: Doc fix.
* Disable auto compositions on the Linux console onlyLars Ingebrigtsen2021-08-18
| | | | | | | | | | | | | | | | * lisp/term/linux.el (terminal-init-linux): Disable auto compositions on "linux" consoles (bug#21363). * src/composite.c (inhibit_auto_composition): New function to implement this. (composition_compute_stop_pos, composition_adjust_point) (Ffind_composition_internal): Use it. (syms_of_composite): Document it. * src/lisp.h: Export tty_type_name. * src/term.c (tty_type_name): Factored out. (Ftty_type): Use it.
* Yet another place inside redisplay_window to prevent quittingEli Zaretskii2021-08-18
| | | | | * src/xdisp.c (handle_single_display_spec): Inhibit quitting around the call to lookup_image. (Bug#44448)
* Fix abort when turning on Hebrew or Arabic input methodsEli Zaretskii2021-08-18
| | | | | * src/xdisp.c (face_before_or_after_it_pos): Add the missing initialization of the bidi scan direction. (Bug#50107)
* Another fix for quitting while displaying non-selected windowsEli Zaretskii2021-08-17
| | | | | | | * src/xdisp.c (handle_face_prop, extend_face_to_end_of_line): Inhibit quitting around the call to face_at_pos, to prevent leaking wrong value of point when the user quits while we redisplay a non-selected window. (Bug#44448)
* Fix TTY display performance degradation due to many markersEli Zaretskii2021-08-17
| | | | | | | * src/coding.c (encode_coding_object): Don't assume that src_object == dst_object means src_object is the current buffer. Add the missing commentary that explains the arguments. (Bug#49127)
* Plug another hole for longjmp-ing from 'redisplay_window'Eli Zaretskii2021-08-16
| | | | | * src/fringe.c (update_window_fringes): Inhibit quitting, so as not to longjmp out of redisplay_window. (Bug#44448)
* Make overlays-in treat zero-length overlays at point-max consistentlyLars Ingebrigtsen2021-08-16
| | | | | | | | * doc/lispref/display.texi (Finding Overlays): Adjust documentation. * src/buffer.c (overlays_in): Treat the end of the buffer and the end of the narrowed-to buffer the same (bug#19422). (Foverlays_in): Adjust doc string.
* Make Emacs compile with musl instead of glibcLars Ingebrigtsen2021-08-15
| | | | * src/alloc.c: musl doesn't have malloc_info (bug#50058).
* ; * src/xdisp.c (display_mode_lines): Fix comment.Eli Zaretskii2021-08-15
|
* Fix unwarranted point movement after C-gEli Zaretskii2021-08-15
| | | | | | | | | | | | | | | | | When the same buffer is displayed in more than one window, redisplay temporarily moves point to the window-point when it works on non-selected windows. If we allow C-g to quit out of redisplay_window in this situation, point will appear to have moved to the window-point of that non-selected window, which is unwarranted. These changes prevent quitting in strategic places, so that we never quit out of redisplay_window. * src/xdisp.c (run_window_scroll_functions): Prevent quitting while running window-scroll-functions, so that we don't quit out of redisplay_window with temporarily moved point. (redisplay_window): While redisplaying the mode line, prevent quitting, to avoid exiting while point is temporarily moved. (decode_mode_spec): Use safe_call1 instead of call1, to trap any errors instead of letting them throw out of redisplay. (Bug#44448)
* * src/w32.c (_sys_read_ahead): Pacify a silly compiler warning.Eli Zaretskii2021-08-14
|
* Fix 'random' on MS-Windows when integers are wider than 30 bitsEli Zaretskii2021-08-14
| | | | | * src/w32.c (random): Provide more random bits for MS-Windows builds with EMACS_INT that is wider than 32 bits. (Bug#32605)
* Fix problem where an error would change standard-outputLars Ingebrigtsen2021-08-13
| | | | | | * src/keyboard.c (cmd_error): Don't set standard-output/standard-input (bug#30529). Instead bind them temporarily while handling the error.
* Allow using XLFD font names with dashes in the family nameLars Ingebrigtsen2021-08-11
| | | | | | | | * src/font.c (font_parse_xlfd_1): Rename from font_parse_xlfd to allow calling twice from a wrapper (bug#35816). (font_parse_xlfd): Wrapper function -- first try to parse in the normal way, and then try to guess that the hyphenated bits are in the family name.
* * src/nsterm.m (max_used_fringe_bitmap): Remove unused variable.Alan Third2021-08-08
|
* Allow building on MacOS with MacPorts and libgccjitLars Ingebrigtsen2021-08-07
| | | | | | | | | | * configure.ac: Check for the "port" command (MacPorts). Add the required lib/include directories for nativecomp. * src/Makefile.in (LIBGCCJIT_CFLAGS, LIBGCCJIT_LIBS): Split into two parts to allow including -L/-I for MacPorts. (LIBES): Adjust. (EMACS_CFLAGS): Ditto.
* Fix automatic hscrolling when line numbers are displayedEli Zaretskii2021-08-06
| | | | | | * src/xdisp.c (hscroll_window_tree): When line numbers are displayed, account for the the line-number space when calculating the desired X coordinate on the left. (Bug#49891)
* Improve wording of recently changed documentationEli Zaretskii2021-08-06
| | | | | | | | | * src/minibuf.c (syms_of_minibuf): * lisp/minibuffer.el (minibuffer-restore-windows): * lisp/progmodes/etags.el (etags-xref-prefer-current-file): Improve wording of doc strings. * etc/NEWS: Improve wording and format of recently added entries.
* Add function minibuffer-restore-windows (bug#45072)Juri Linkov2021-08-06
| | | | | | | * lisp/minibuffer.el (minibuffer-restore-windows): New function that removes the completions buffer. Add it to minibuffer-exit-hook. * src/minibuf.c (read-minibuffer-restore-windows): Mention minibuffer-restore-windows.
* Add new user option 'read-minibuffer-restore-windows'martin rudalics2021-08-04
| | | | | | | | | | * doc/lispref/minibuf.texi (Text from Minibuffer): Document it (bug#45072). * lisp/cus-start.el (standard): Add. * src/minibuf.c (syms_of_minibuf): New variable 'read-minibuffer-restore-windows'.
* Adjust how `replace-match' runs modification hooksLars Ingebrigtsen2021-07-31
| | | | | | | | | | | | * src/editfns.c (Fsubst_char_in_region) (Ftranslate_region_internal): * src/cmds.c (internal_self_insert): Update callers. * src/insdel.c (replace_range): Allow inhibiting signal_after_change/update_compositions. * src/lisp.h: Update. * src/search.c (Freplace_match): Run the modification hooks at the end instead of before adjusting point (bug#42424).
* Fix some macOS problemsAlan Third2021-07-31
| | | | | | | * src/nsmenu.m (update_frame_tool_bar): Make sure the toolbar isn't displayed when it's not supposed to be. * src/nsterm.m ([EmacsView layoutSublayersOfLayer:]): Reinstate code intended to prevent a crash when running redisplay.
* Move parent frame setting code into EmacsWindowAlan Third2021-07-31
| | | | | | | * src/nsterm.m (ns_make_frame_visible): (ns_set_parent_frame): ([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): Use new method. ([EmacsWindow setParentChildRelationships]): New method.
* Move NS port toolbar handling to the windowAlan Third2021-07-31
| | | | | | | | | | | | | | | | | | | * src/nsmenu.m (free_frame_tool_bar): (update_frame_tool_bar): Remove wait_for_tool_bar and get the toolbar from the window. * src/nsterm.h (EmacsView): Remove toolbar and wait_for_tool_bar. * src/nsterm.m (ns_update_begin): ([EmacsView windowDidEnterFullScreen]): ([EmacsView windowDidExitFullScreen]): Get the toolbar from the window, not the view. ([EmacsView dealloc]): Remove toolbar from view. ([EmacsView createToolbar:]): Move method to EmacsWindow. ([EmacsView initFrameFromEmacs:]): Don't create toolbar here any more. ([EmacsView toolbar]): Remove method. ([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): Create toolbar here. ([EmacsWindow createToolbar:]): Moved from EmacsView. ([EmacsWindow dealloc]): Make sure we clean up the toolbar after closing the window.
* Fix macOS live resize drawingAlan Third2021-07-31
| | | | | | * src/nsterm.m ([EmacsView layout]): ([EmacsView layoutSublayersOfLayer:]): Rename layout to layoutSublayersOfLayer.
* Change NS port resize detectionAlan Third2021-07-31
| | | | | | | | | | * src/nsterm.m ([EmacsView windowDidResize:]): Remove function, it's not performing a useful function any more. ([EmacsView viewDidResize]): ([EmacsView resizeWithOldSuperviewSize:]): Replace viewDidResize with resizeWithOldSuperviewSize. ([EmacsView initFrameFromEmacs:]): Remove the view resize notification as we don't need it any more.
* Tidy up NS port OS window handlingAlan Third2021-07-31
| | | | | | | | | | | | | | | | | * src/nsterm.h (EmacsWindow): Move above EmacsView definition and add new method definitions. (EmacsView): Remove redundant bwidth variable, and change NSWindow to EmacsWindow. (EmacsFSWindow): Delete definition. * src/nsterm.m (ns_set_undecorated): Rewrite to work in GNUstep using the new OS window creating methods. ([EmacsView initFrameFromEmacs:]): Move all NSWindow related code to new init method in EmacsWindow, and use said method. ([EmacsView toggleFullScreen:]): Use EmacsWindow instead of NSWindow. ([EmacsWindow initWithEmacsFrame:]): ([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): ([EmacsWindow borderWidth]): New methods. (EmacsFSWindow): Remove implementation.
* Simplify macOS drawing codeAlan Third2021-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert EmacsSurface into a CALayer subclass so we can use the built-in relationships. Also simplify the macOS versioning code. This will result in more warnings on older versions of macOS but makes reading the code easier. * configure.ac: Add QuartzCore framework. * src/nsterm.h (NS_DRAW_TO_BUFFER): Remove define and all references. (EmacsSurface, EmacsLayer): Rename EmacsSurface to EmacsLayer and modify the definition to fit the new function. * src/nsterm.m (ns_update_begin): (ns_update_end): (ns_focus): (ns_unfocus): Use the new overridden lockFocus and unlockFocus and simplify the frame management. ([EmacsView dealloc]): ([EmacsView viewDidResize:]):Don't explicitly release surfaces. ([EmacsView initFrameFromEmacs:]): Move the layer code to after the NSWindow has been created as creating the layer now relies on some of it's properties. ([EmacsView makeBackingLayer]): New function. ([EmacsView lockFocus]): ([EmacsView focusOnDrawingBuffer]): Rename to lockFocus. ([EmacsView unlockFocus]): ([EmacsView unfocusDrawingBuffer]): Rename to unlockFocus. ([EmacsView windowDidChangeBackingProperties]): Don't explicitly release surfaces but reset EmacsLayer properties. ([EmacsView layout]): ([EmacsView viewWillDraw]): Rename to layout. ([EmacsView wantsUpdateLayer]): Remove function and change all callers to [EmacsView wantsLayer]. (EmacsSurface, EmacsLayer): Rename to EmacsLayer. ([EmacsSurface getSize]): ([EmacsSurface initWithSize:ColorSpace:Scale:]): Remove methods. ([EmacsSurface initWithColorSpace:]): ([EmacsLayer checkDimensions]): ([EmacsLayer releaseSurfaces]): ([EmacsLayer display]): New functions. * src/nsterm.m ([EmacsLayer dealloc]): Use releaseSurfaces. ([EmacsSurface getContext]): Automatically detect frame property changes and clear the cache if required. Use built-in CALayer properties where available. ([EmacsLayer copyContentsTo:]): Use [CALayer contents] as source.
* * src/fontset.c (check_fontset_name): A better fix for bug#49782.Eli Zaretskii2021-07-31
|
* * src/fontset.c (check_fontset_name): Fix last change.Eli Zaretskii2021-07-30
|
* Avoid segfault when set-fontset-font is called from non-GUI framesEli Zaretskii2021-07-30
| | | | | * src/fontset.c (check_fontset_name): Avoid crashes if this is called from a non-GUI frame. (Bug#49782)
* Convert fringe bitmaps to vectors on NS portAlan Third2021-07-26
| | | | | | | | | | | | | | | Unfortunately *step doesn't support masks for bitmap images so changing the colors of fringe bitmaps is awkward. We can work around this by converting the bitmap into an NSBezierPath and drawing it in the required color. * src/nsterm.m (ns_define_fringe_bitmap): (ns_destroy_fringe_bitmap): New functions (ns_draw_fringe_bitmap): Display the NSBezierPath. * src/nsimage.m ([EmacsImage initFromXBM:width:height:fg:bg:reverseBytes:]): Remove variable that's there to allow us to easily modify the XBM colors. ([EmacsImage setXBMColor:]): Remove method.
* Fix NS inset rectangle cornersAlan Third2021-07-26
| | | | | * src/nsterm.m (ns_draw_relief): Use a path to draw the mitered corners instead of rectangles.
* Simplify NS sizing and positioning codeAlan Third2021-07-26
| | | | | | | * src/nsterm.m (ns_set_offset): Unify the two branches into one, most of the code is the same. (ns_set_window_size): Use the provided tools to calculate the window size instead of doing it ourselves.
* * src/nsterm.m (ns_set_frame_alpha): Enable alpha on GNUstep.Alan Third2021-07-26
|
* Fix image crash on macOS (bug#49688)Alan Third2021-07-26
| | | | | * src/nsimage.m ([EmacsImage allocInitFromFile:]): Use isValid to check whether the image is valid instead of generating a tiff.
* Fix compilation of xftfont.c with old fontconfigEli Zaretskii2021-07-25
| | | | | | * src/xftfont.c (FC_LCD_FILTER): Define if undefined, for older versions of fontconfig. This was mistakenly deleted 2 years ago. (Bug#49722)
* Rename directory-append to file-name-concatLars Ingebrigtsen2021-07-25
| | | | | | | | * src/fileio.c (Ffile_name_concat): * lisp/files.el (move-file-to-trash): * lisp/emacs-lisp/shortdoc.el (file-name): * doc/lispref/files.texi (Directory Names): Rename `directory-append' to `file-name-concat'.
* Allow empty elements in directory-appendLars Ingebrigtsen2021-07-25
| | | | | * doc/lispref/files.texi (Directory Names): Document it. * src/fileio.c (Fdirectory_append): Allow empty elements.
* ; * src/fileio.c (Fdirectory_append): Doc fix.Eli Zaretskii2021-07-24
|
* Really convert to multibyte in Fdirectory_appendLars Ingebrigtsen2021-07-24
| | | | | | * src/fileio.c (Fdirectory_append): Fix check for whether we need to convert to multibyte. (Fdirectory_append):
* Fix Fdirectory_append check for whether strings have to be convertedLars Ingebrigtsen2021-07-24
| | | | | | | | | | | * src/coding.c (string_ascii_p): Make it non-static. * src/fileio.c (Fdirectory_append): Fix check for whether we need to convert to multibyte. * src/fns.c (string_ascii_p): Remove copy. * src/lisp.h: Declare string_ascii_p.
* Tweak Fdirectory_append slightlyLars Ingebrigtsen2021-07-24
| | | | | * src/fileio.c (Fdirectory_append): Make the xfree condition more robust.
* Tweak Fdirectory_append for efficiencyLars Ingebrigtsen2021-07-24
| | | | * src/fileio.c (Fdirectory_append): Make slightly more efficient.
* Extend directory-append to take an arbitrary number of componentsLars Ingebrigtsen2021-07-24
| | | | | | | | * doc/lispref/files.texi (Directory Names): Document it. * lisp/emacs-lisp/shortdoc.el (file-name): Add new example. * src/fileio.c (Fdirectory_append): Change the function to take an arbitrary number of components.