[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r117589: Support horizontal scrolling of bidirection
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] trunk r117589: Support horizontal scrolling of bidirectional text. |
Date: |
Sun, 27 Jul 2014 18:06:03 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 117589
revision-id: address@hidden
parent: address@hidden
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Sun 2014-07-27 21:05:37 +0300
message:
Support horizontal scrolling of bidirectional text.
lisp/scroll-bar.el (scroll-bar-toolkit-horizontal-scroll): Add
rudimentary support for bidirectional text.
modified:
lisp/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1432
lisp/scroll-bar.el
scrollbar.el-20091113204419-o5vbwnq5f7feedwu-535
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2014-07-27 13:21:30 +0000
+++ b/lisp/ChangeLog 2014-07-27 18:05:37 +0000
@@ -1,3 +1,8 @@
+2014-07-27 Eli Zaretskii <address@hidden>
+
+ * scroll-bar.el (scroll-bar-toolkit-horizontal-scroll): Add
+ rudimentary support for bidirectional text.
+
2014-07-27 Martin Rudalics <address@hidden>
* frame.el (frame-notice-user-settings): Rewrite using
=== modified file 'lisp/scroll-bar.el'
--- a/lisp/scroll-bar.el 2014-07-27 13:21:30 +0000
+++ b/lisp/scroll-bar.el 2014-07-27 18:05:37 +0000
@@ -451,6 +451,9 @@
(let* ((end-position (event-end event))
(window (nth 0 end-position))
(part (nth 4 end-position))
+ (bidi-factor (if (eq (current-bidi-paragraph-direction) 'left-to-right)
+ 1
+ -1))
before-scroll)
(cond
((eq part 'end-scroll))
@@ -462,27 +465,32 @@
(setq before-scroll (or before-scroll (point)))
(cond
((eq part 'before-handle)
- (scroll-right 4))
+ (scroll-right (* bidi-factor 4)))
((eq part 'after-handle)
- (scroll-left 4))
+ (scroll-left (* bidi-factor 4)))
((eq part 'ratio)
(let* ((portion-whole (nth 2 end-position))
(columns (scroll-bar-scale portion-whole
(1- (window-width)))))
(scroll-right
- (cond
- ((not (zerop columns))
- columns)
- ((< (car portion-whole) 0) -1)
- (t 1)))))
+ (* (cond
+ ((not (zerop columns))
+ columns)
+ ((< (car portion-whole) 0) -1)
+ (t 1))
+ bidi-factor))))
((eq part 'left)
- (scroll-right 1))
+ (scroll-right (* bidi-factor 1)))
((eq part 'right)
- (scroll-left 1))
+ (scroll-left (* bidi-factor 1)))
((eq part 'leftmost)
- (goto-char (line-beginning-position)))
+ (goto-char (if (eq bidi-factor 1)
+ (line-beginning-position)
+ (line-end-position))))
((eq part 'rightmost)
- (goto-char (line-end-position)))
+ (goto-char (if (eq bidi-factor 1)
+ (line-end-position)
+ (line-beginning-position))))
((eq part 'horizontal-handle)
(scroll-bar-horizontal-drag-1 event))))
(sit-for 0)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r117589: Support horizontal scrolling of bidirectional text.,
Eli Zaretskii <=