summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/org/org.el14
-rw-r--r--lisp/tab-line.el16
-rw-r--r--lisp/vc/ediff-util.el2
3 files changed, 23 insertions, 9 deletions
diff --git a/lisp/org/org.el b/lisp/org/org.el
index aa7e319bda7..73848a46342 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -5541,11 +5541,13 @@ The following commands are available:
(lambda (&rest _) (org-show-context 'isearch)))
;; Setup the pcomplete hooks
- (setq-local pcomplete-command-completion-function 'org-pcomplete-initial)
- (setq-local pcomplete-command-name-function 'org-command-at-point)
- (setq-local pcomplete-default-completion-function 'ignore)
- (setq-local pcomplete-parse-arguments-function 'org-parse-arguments)
+ (setq-local pcomplete-command-completion-function #'org-pcomplete-initial)
+ (setq-local pcomplete-command-name-function #'org-command-at-point)
+ (setq-local pcomplete-default-completion-function #'ignore)
+ (setq-local pcomplete-parse-arguments-function #'org-parse-arguments)
(setq-local pcomplete-termination-string "")
+ (add-hook 'completion-at-point-functions
+ #'pcomplete-completions-at-point nil t)
(setq-local buffer-face-mode-face 'org-default)
;; If empty file that did not turn on Org mode automatically, make
@@ -19501,7 +19503,7 @@ COMMANDS is a list of alternating OLDDEF NEWDEF command names."
(org-defkey org-mode-map "\C-i" 'org-cycle)
(org-defkey org-mode-map [(tab)] 'org-cycle)
(org-defkey org-mode-map [(control tab)] 'org-force-cycle-archived)
-(org-defkey org-mode-map "\M-\t" #'pcomplete)
+(org-defkey org-mode-map "\M-\t" nil) ;; Override text-mode binding
;; The following line is necessary under Suse GNU/Linux
(org-defkey org-mode-map [S-iso-lefttab] 'org-shifttab)
@@ -19567,7 +19569,7 @@ COMMANDS is a list of alternating OLDDEF NEWDEF command names."
(org-defkey org-mode-map [?\C-c (right)] 'org-shiftright)
(org-defkey org-mode-map [?\C-c ?\C-x (right)] 'org-shiftcontrolright)
(org-defkey org-mode-map [?\C-c ?\C-x (left)] 'org-shiftcontrolleft)
- (org-defkey org-mode-map [?\e (tab)] #'pcomplete)
+ (org-defkey org-mode-map [?\e (tab)] nil) ;; Override text-mode binding
(org-defkey org-mode-map [?\e (shift return)] 'org-insert-todo-heading)
(org-defkey org-mode-map [?\e (shift left)] 'org-shiftmetaleft)
(org-defkey org-mode-map [?\e (shift right)] 'org-shiftmetaright)
diff --git a/lisp/tab-line.el b/lisp/tab-line.el
index b99e7263297..0f701842dfa 100644
--- a/lisp/tab-line.el
+++ b/lisp/tab-line.el
@@ -471,13 +471,21 @@ variable `tab-line-tabs-function'."
tab-line-new-button)))))))
+(defcustom tab-line-auto-hscroll t
+ "Allow or disallow automatic horizontal scrolling of the tab line.
+Non-nil means the tab line are automatically scrolled horizontally to make
+the selected tab visible."
+ :type 'boolean
+ :group 'tab-line
+ :version "27.1")
+
(defun tab-line-auto-hscroll (strings hscroll)
(with-temp-buffer
(let ((truncate-partial-width-windows nil)
+ (truncate-lines nil)
(inhibit-modification-hooks t)
+ (buffer-undo-list t)
show-arrows)
- (setq truncate-lines nil
- buffer-undo-list t)
(apply 'insert strings)
(goto-char (point-min))
(add-face-text-property (point-min) (point-max) 'tab-line)
@@ -486,7 +494,9 @@ variable `tab-line-tabs-function'."
(setq show-arrows (> (vertical-motion 1) 0))
;; Try to auto-scroll only when scrolling is needed,
;; but no manual scrolling was performed before.
- (when (and show-arrows (not (and (integerp hscroll) (>= hscroll 0))))
+ (when (and tab-line-auto-hscroll
+ show-arrows
+ (not (and (integerp hscroll) (>= hscroll 0))))
(let ((pos (seq-position strings 'selected
(lambda (str prop)
(get-pos-property 1 prop str)))))
diff --git a/lisp/vc/ediff-util.el b/lisp/vc/ediff-util.el
index a481defe29f..c7c5405bdd4 100644
--- a/lisp/vc/ediff-util.el
+++ b/lisp/vc/ediff-util.el
@@ -1038,6 +1038,7 @@ of the current buffer."
(format
"File %s is under version control. Check it out? "
(ediff-abbreviate-file-name file))))
+ (setq this-command 'ediff-toggle-read-only) ; bug#38219
;; if we checked the file out, we should also change the
;; original state of buffer-read-only to nil. If we don't
;; do this, the mode line will show %%, since the file was
@@ -2379,6 +2380,7 @@ temporarily reverses the meaning of this variable."
" & show containing session group" "")))
(progn
(message "")
+ (setq this-command 'ediff-quit) ; bug#38219
(set-buffer ctl-buf)
(ediff-really-quit reverse-default-keep-variants))
(select-frame ctl-frm)