1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-09 01:05:39 -08:00
Commit graph

151382 commits

Author SHA1 Message Date
Phil Sainty
359a8e4eda ; * lisp/so-long.el: Bump to version 1.1 2021-08-03 23:20:06 +12:00
Phil Sainty
985a3bd331 ; * lisp/so-long.el: Documentation 2021-08-03 23:20:06 +12:00
Jimmy Yuen Ho Wong
b44abacc8c * Fix error while disassembling native code on macOS
* lisp/emacs-lisp/disass.el (disassemble-internal): Make sure the
regexp that searches for a symbol takes into account of llvm-objdump's
output format.
2021-08-03 10:27:20 +02:00
Juri Linkov
de5601f090 Improve handling of context menus for global, local, minor-mode menus
* lisp/mouse.el (context-menu-global, context-menu-local, context-menu-minor):
Better handling of possibly nested menu maps.
2021-08-03 11:23:57 +03:00
Amin Bandali
d50721bf02
Merge from origin/emacs-27
75ecce4323 Unbreak ERC's Ibuffer filter (Bug#44100)
2021-08-02 22:39:43 -04:00
Amin Bandali
72dc602459
; Merge from origin/emacs-27
The following commit was skipped:

61def1e392 ; Auto-commit of loaddefs files.
2021-08-02 22:39:43 -04:00
Olivier Certner
75ecce4323
Unbreak ERC's Ibuffer filter (Bug#44100)
* lisp/erc/erc-ibuffer.el (erc-modified): Don't use `length' on dotted
lists (and not even to test if there is more than one element, for
that matter).  Use `cdr' instead.
2021-08-02 22:34:25 -04:00
Juri Linkov
09c3620253 Adjust tab-bar to the new mode-line-misc-info value (bug#49806)
* lisp/tab-bar.el (tab-bar--define-keys): Adjust to the new
default value for `mode-line-misc-info'.
2021-08-03 01:08:23 +03:00
Stephen Gildea
a812992aee ; mh-junk-background: fix documentation typo
* lisp/mh-e/mh-e.el (mh-junk-background), doc/misc/mh-e.texi:
In documentation, name the correct argument to call-process.
2021-08-01 21:09:16 -07:00
Stephen Gildea
d160d1aff5 mh-junk: adjust messages for allow/block actions
* lisp/mh-e/mh-junk.el: Remove messages that get overwritten quickly.
Keep messages that give status for slow operations.  Add information
that might be useful for debugging failures.
2021-08-01 21:01:42 -07:00
Stefan Monnier
e68bc86bcf * lisp/mwheel.el: Don't use custom-initialize-delay.
Set up the keybindings when loading the file.

(mouse-wheel--installed-bindings-alist): Move to beginning.
(mouse-wheel-change-button): Don't update bindings when they're not installed.
(mouse-wheel--setup-bindings): New function extracted from `mouse-wheel-mode`.
(<topleve>): Call it when loading the file.
(mouse-wheel-mode): Use the default :initializer.
2021-08-01 18:13:41 -04:00
Stefan Monnier
1a7818824b * lisp/progmodes/flymake.el (flymake--mode-line-title): Don't quote lambda 2021-08-01 18:08:01 -04:00
Juri Linkov
a6f67d60e1 * lisp/progmodes/project.el (project-switch-project): Use 'let*' (bug#49635).
This allows overriding-local-map to have effect on read-key-sequence.
2021-08-01 23:43:37 +03:00
Juri Linkov
9f5946b6ff * lisp/help-mode.el (help-mode-context-menu): New function.
(help-mode): Use it.
2021-08-01 23:07:29 +03:00
Juri Linkov
cd7eb4bee1 * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Display warning.
https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg00007.html
2021-08-01 22:58:09 +03:00
Mattias Engdegård
b72f88518b Make dlet work like let, not let*
Change `dlet` so that it has binding semantics like `let` because that
is what a user would expect and it allows a corresponding `dlet*` to
be added later should the need arise.  Fortunately the change has no
effect where it is currently used.

* lisp/subr.el (dlet): Work like let.
* lisp/calendar/cal-bahai.el (calendar-bahai-date-string):
* lisp/calendar/cal-coptic.el (calendar-coptic-date-string):
* lisp/calendar/cal-dst.el (calendar-time-zone-daylight-rules)
(calendar-dst-starts, dst-in-effect):
* lisp/calendar/cal-persia.el (calendar-persian-date-string):
* lisp/calendar/calendar.el (calendar-dlet, calendar-generate-month)
(calendar-update-mode-line, calendar-date-string):
* lisp/calendar/diary-lib.el (diary-list-entries-2)
(diary-list-entries, diary-mark-entries-1, diary-sexp-entry)
(diary-remind, diary-font-lock-date-forms, diary-fancy-date-pattern):
* lisp/calendar/holidays.el (holiday-sexp):
* lisp/calendar/icalendar.el (icalendar--convert-float-to-ical):
* lisp/calendar/solar.el (solar-time-string):
* lisp/calendar/todo-mode.el (todo-date-pattern)
(todo-edit-item--header, todo-convert-legacy-date-time)
(todo-read-date):
Rename `calendar-dlet*` to `calendar-dlet` since it uses `dlet`.
2021-08-01 17:12:40 +02:00
Glenn Morris
3b7f72ca55 ; Auto-commit of loaddefs files. 2021-08-01 06:30:07 -07:00
Mattias Engdegård
0ecebbf274 ; * lisp/replace.el (occur--set-arrow): Remove unused variable. 2021-08-01 15:25:02 +02:00
Glenn Morris
61def1e392 ; Auto-commit of loaddefs files. 2021-08-01 06:12:18 -07:00
Mattias Engdegård
660b17ef3e Indicate selected occur target with fringe arrow
* lisp/replace.el (occur--set-arrow): New function.
(occur-mode-goto-occurrence)
(occur-mode-goto-occurrence-other-window)
(occur-mode-display-occurrence): Call it.
* etc/NEWS: Announce.
2021-08-01 14:42:07 +02:00
Juri Linkov
12af7ee46d * lisp/filecache.el: Fix cycling (bug#49761).
(file-cache-cycle): Refactor from file-cache-minibuffer-complete.
(file-cache-minibuffer-complete): Use file-cache-cycle in 2 old places,
and in 1 following new place.  When last-command is equal to this-command,
use file-cache-cycle to continue cycling the previous completion
as long as the user continues typing C-TAB.
Also when displaying a list of completions, don't try to move point
to the common prefix.
2021-08-01 11:38:51 +03:00
Kévin Le Gouguec
7640f1da0b Extend Gnus summary highlight faces by default
* lisp/gnus/gnus.el (gnus-summary-selected):
(gnus-summary-normal-ancient):
(gnus-summary-normal-undownloaded):
(gnus-summary-normal-unread):
(gnus-summary-normal-read): Set :extend attribute.
2021-08-01 00:16:30 +02:00
Lars Ingebrigtsen
2a2e7e5466 Adjust the fully qualified host name when nothing is set
* doc/misc/message.texi (News Headers): Adjust index.
* lisp/gnus/message.el (message-check-news-header-syntax): Adjust check.
(message-make-fqdn): Be less hilarious.
2021-08-01 00:01:59 +02:00
Lars Ingebrigtsen
4ca3cf996e Fix `u' binding in Gnus Browse mode
* lisp/gnus/gnus-srvr.el (gnus-browse-mode-map): Bind to
`gnus-browse-toggle-subscription-at-point', which is the command.
2021-07-31 23:49:37 +02:00
Mattias Engdegård
5f33ad6954 ; compilation-error-regexp-alist-alist): eval-when-compile 2021-07-31 23:44:17 +02:00
Mattias Engdegård
6413f08887 Occur-mode multi-line match property gap filling
When an occur-mode regexp matches across multiple lines, the spacing
prefixes inserted between each did not have the `occur-target`
property which is essential for jumping to the corresponding place in
the target buffer.  This prevented next-error and previous-error
from working.

* lisp/replace.el (occur-engine): Put the `occur-target` property on
the continuation prefix to avoid the gap.
2021-07-31 22:46:24 +02:00
Mattias Engdegård
ff16bea7f4 * etc/NEWS: Mention occur-mode highlight changes. 2021-07-31 22:46:24 +02:00
Lars Ingebrigtsen
943d79914b C-x 5 5 manual tweak
* doc/emacs/frames.texi (Creating Frames): Mention
other-frame-prefix function name.
2021-07-31 22:36:19 +02:00
Lars Ingebrigtsen
fa09452ab5 Update NEWS tagging for a couple entries 2021-07-31 22:27:08 +02:00
Lars Ingebrigtsen
3019d628e2 Add an index entry for outline-minor-mode-cycle
* doc/emacs/text.texi (Outline Mode): Document outline-minor-mode-cycle.
2021-07-31 22:25:38 +02:00
Lars Ingebrigtsen
59f80ffc7d Document outline-minor-mode-cycle in the manual.
* doc/emacs/text.texi (Outline Mode): Document outline-minor-mode-cycle.
2021-07-31 22:22:42 +02:00
Lars Ingebrigtsen
d3d6ea50d2 Make `ffap-read-file-or-url' work again (to read URLs)
* lisp/ffap.el (ffap--url-file-handler): New function (bug#44822).
(ffap-read-file-or-url): Use it to allow switching between URLs
and files.
2021-07-31 19:51:16 +02:00
Lars Ingebrigtsen
2dcb0f8f52 Add new user option python-forward-sexp-function
* lisp/progmodes/python.el (python-forward-sexp-function): New
user option (bug#41361).
(python-mode): Use it.
2021-07-31 18:44:02 +02:00
Lars Ingebrigtsen
f6c5a801ef Adjust how `replace-match' runs modification hooks
* 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).
2021-07-31 17:44:43 +02:00
Lars Ingebrigtsen
c4239ec32c Extend whitespace-empty to the end of the line
* lisp/whitespace.el (whitespace-empty): Restore Emacs 26 look by
extending the face (bug#42112).
2021-07-31 16:52:44 +02:00
Lars Ingebrigtsen
5ecf39a5ea Revert "Fix `speedbar-directory-buttons' when using Tramp"
This reverts commit 5afad3918b.

This patch can't possibly be correct, and it breaks the stated interface.
2021-07-31 14:54:52 +02:00
Lars Ingebrigtsen
32b9c7d06f Revert "Allow nil initializers in define-minor-mode"
This reverts commit 02cbb37de7.

This was mistakenly commited and doesn't really make much sense.
2021-07-31 13:37:42 +02:00
Lars Ingebrigtsen
99600ee7b4 Don't bind <mouse-2> and RET in *Help* buffers
* lisp/help-mode.el (help-mode-map): Remove key bindings for RET
and <mouse-2> (bug#49784).
(help-xref-stack, help-xref-forward-stack, help-xref-stack-item)
(help-make-xrefs): Fix doc strings -- these aren't used by
`help-follow', but by `help-follow-symbol'.
(help-follow-mouse, help-follow): Make obsolete.
2021-07-31 13:26:26 +02:00
Lars Ingebrigtsen
02cbb37de7 Allow nil initializers in define-minor-mode
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Make the
meaning of :initialize nil and a missing :initialize the same.
2021-07-31 12:35:45 +02:00
Alan Third
12c5ca4d82 Fix some macOS problems
* 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.
2021-07-31 11:13:05 +01:00
Alan Third
5a48c99696 Move parent frame setting code into EmacsWindow
* src/nsterm.m (ns_make_frame_visible):
(ns_set_parent_frame):
([EmacsWindow initWithEmacsFrame:fullscreen:screen:]):  Use new method.
([EmacsWindow setParentChildRelationships]): New method.
2021-07-31 11:13:05 +01:00
Alan Third
0b5cf48509 Move NS port toolbar handling to the window
* 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.
2021-07-31 11:13:05 +01:00
Alan Third
1ba02d85a9 Fix macOS live resize drawing
* src/nsterm.m ([EmacsView layout]):
([EmacsView layoutSublayersOfLayer:]): Rename layout to
layoutSublayersOfLayer.
2021-07-31 11:13:05 +01:00
Alan Third
960f3fc589 Change NS port resize detection
* 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.
2021-07-31 11:13:05 +01:00
Alan Third
1535c81f77 Tidy up NS port OS window handling
* 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.
2021-07-31 11:13:05 +01:00
Alan Third
a4d2c88cde Simplify macOS drawing code
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.
2021-07-31 11:13:05 +01:00
Eli Zaretskii
0992335d12 * src/fontset.c (check_fontset_name): A better fix for bug#49782. 2021-07-31 09:28:36 +03:00
Adam Porter
44fe0043d3 * lisp/emacs-lisp/cl-macs.el: Add cl-type pattern
* lisp/emacs-lisp/cl-macs.el:
((pcase-defmacro type)): Add 'cl-type' pattern.

* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-cl-type): Add test.

* doc/lispref/control.texi (pcase Macro): Update manual.

With thanks to Stefan Monnier and Eli Zaretskii for their guidance.
2021-07-30 17:23:32 -04:00
Eli Zaretskii
d9bc7dbefd * src/fontset.c (check_fontset_name): Fix last change. 2021-07-30 21:51:59 +03:00
Eli Zaretskii
1da5b2c60b Avoid segfault when set-fontset-font is called from non-GUI frames
* src/fontset.c (check_fontset_name): Avoid crashes if this is
called from a non-GUI frame.  (Bug#49782)
2021-07-30 21:17:58 +03:00