Skip to content

Commit

Permalink
Merge remote-tracking branch 'ap/master' into feature/rich-replies
Browse files Browse the repository at this point in the history
  • Loading branch information
Visuwesh committed May 18, 2023
2 parents acbc326 + 8b56efa commit fd28166
Show file tree
Hide file tree
Showing 7 changed files with 286 additions and 129 deletions.
1 change: 1 addition & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ jobs:
emacs_version:
- 26.3
- 27.1
- 28.2
- snapshot
steps:
- uses: purcell/setup-emacs@master
Expand Down
36 changes: 33 additions & 3 deletions README.org
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#+PROPERTY: LOGGING nil

# Export options.
#+OPTIONS: broken-links:t *:t
#+OPTIONS: broken-links:t *:t num:1 toc:1

# Info export options.
#+EXPORT_FILE_NAME: ement.texi
Expand Down Expand Up @@ -184,7 +184,7 @@ These bindings are common to all of the following buffer types:
+ Send file: ~s f~
+ Send image: ~s i~
+ View event source: ~v~
+ Complete members and rooms at point: ~C-M-i~ (standard ~completion-at-point~ command).
+ Complete members and rooms at point: ~C-M-i~ (standard ~completion-at-point~ command). (Type an ~@~ prefix for a member mention, a ~#~ prefix for a room alias, or a ~!~ prefix for a room ID.)

*Images*

Expand Down Expand Up @@ -254,6 +254,7 @@ These bindings are common to all of the following buffer types:
+ Starting in the room list buffer, by pressing ~SPC~ repeatedly, you can cycle through and read all rooms with unread buffers. (If a room doesn't have a buffer, it will not be included.)
+ Room buffers and the room-list buffer can be bookmarked in Emacs, i.e. using =C-x r m=. This is especially useful with [[https:/alphapapa/burly.el][Burly]]: you can arrange an Emacs frame with several room buffers displayed at once, use =burly-bookmark-windows= to bookmark the layout, and then you can restore that layout and all of the room buffers by opening the bookmark, rather than having to manually arrange them every time you start Emacs or change the window configuration.
+ Images and other files can be uploaded to rooms using drag-and-drop.
+ Mention members by typing a ~@~ followed by their displayname or Matrix ID. (Members' names and rooms' aliases/IDs may be completed with ~completion-at-point~ commands.)
+ You can customize settings in the ~ement~ group.
- *Note:* ~setq~ should not be used for certain options, because it will not call the associated setter function. Users who have an aversion to the customization system may experience problems.

Expand Down Expand Up @@ -295,11 +296,37 @@ Note that, while ~matrix-client~ remains usable, and probably will for some time
:TOC: :depth 0
:END:

** 0.9-pre
** 0.10-pre

*Changes*

+ Improve readme export settings.

** 0.9.3

*Fixes*
+ Another attempt at restoring position in room list when refreshing.
+ Command ~ement-room-list-next-unread~.

** 0.9.2

*Fixes*
+ Restore position in room list when refreshing.
+ Completion in minibuffer.

** 0.9.1

*Fixes*
+ Error in ~ement-room-list~ command upon initial sync.

** 0.9

*Additions*

+ Option ~ement-room-timestamp-header-align~ controls how timestamp headers are aligned in room buffers.
+ Option ~ement-room-view-hook~ runs functions when ~ement-room-view~ is called. (By default, it refreshes the room list buffer.)
+ In the room list, middle-clicking a room which has a buffer closes its buffer.
+ Basic support for video events. (Thanks to [[https:/viiru-][Arto Jantunen]].)

*Changes*

Expand All @@ -308,6 +335,9 @@ Note that, while ~matrix-client~ remains usable, and probably will for some time
*Fixes*

+ Recognition of certain MXID or displayname forms in outgoing messages when linkifying (aka "pilling") them.
+ Unreadable room avatar images no longer cause errors. (Fixes [[https:/alphapapa/ement.el/issues/147][#147]]. Thanks to [[https:/jgarte][@jgarte]] for reporting.)
+ Don't error in ~ement-room-list~ when no rooms are joined. (Fixes [[https:/alphapapa/ement.el/issues/123][#123]]. Thanks to [[https:/Kabouik][@Kabouik]] and [[https:/oantolin][Omar Antolín Camarena]] for reporting.)
+ Enable member/room completion in compose buffers. (Fixes [[https:/alphapapa/ement.el/issues/115][#115]]. Thanks to Thanks to [[https:/piater][Justus Piater]] and [[https:/chasecaleb][Caleb Chase]] for reporting.)

** 0.8.3

Expand Down
24 changes: 24 additions & 0 deletions ement-lib.el
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,30 @@
(defvar ement-room-prism-minimum-contrast)
(defvar ement-room-unread-only-counts-notifications)

;;;; Function declarations

;; Instead of using top-level `declare-function' forms (which can easily become obsolete
;; if not kept with the code that needs them), this allows the use of `(declare (function
;; ...))' forms in each function definition, so that if a function is moved or removed,
;; the `declare-function' goes with it.

;; TODO: Propose this upstream.

(eval-and-compile
(defun ement--byte-run--declare-function (_name _args &rest values)
"Return a `declare-function' form with VALUES.
Allows the use of a form like:
(declare (function FN FILE ...))
inside of a function definition, effectively keeping its
`declare-function' form inside the function definition, ensuring
that stray such forms don't remain if the function is removed."
`(declare-function ,@values))

(cl-pushnew '(function ement--byte-run--declare-function) defun-declarations-alist :test #'equal)
(cl-pushnew '(function ement--byte-run--declare-function) macro-declarations-alist :test #'equal))

;;;; Compatibility

;; These workarounds should be removed when they aren't needed.
Expand Down
Loading

0 comments on commit fd28166

Please sign in to comment.