Commit graph

121 commits

Author SHA1 Message Date
Paul Eggert
26bed8ba10 Update copyright year to 2019
Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
2019-01-01 01:01:13 +00:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Alexander Gramiak
89b0023044 Increase xterm click count only within double-click-fuzz
* lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
and check it against the current click's position.  (Bug#28658)
2017-10-08 17:20:46 -06:00
Alexander Gramiak
c625fb645a Set xterm click count to 1 even with no last click
* lisp/xt-mouse.el (xterm-mouse-event): Move the check for
the last click so that click-count is initialized properly.
Handle the value of t for double-click-time.
(Bug#28658)
2017-10-05 13:50:02 +03:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Philipp Stephani
f6da597376 ; Revert "Guard terminal par. in XTerm mouse mode"
This reverts commit d4e15492f7.

Since emacs-25 should only contain regression fixes and doc fixes, this
commit was moved to the master branch.
2016-11-28 19:45:55 +01:00
Philipp Stephani
13d468fc07 Guard terminal parameter in XTerm mouse mode
It has been observed (in the HTerm terminal emulator) that the
event stored in the 'xterm-mouse-last-down' terminal parameter gets
overwritten during a mouse drag operation, causing Emacs to attempt to
synthesize the non-existing <drag-mouse-0> event.  Copy the event into
the terminal parameter to protect against such modifications.

* lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
of input event list.
2016-11-28 19:45:03 +01:00
Philipp Stephani
d4e15492f7 Guard terminal parameter in XTerm mouse mode
It has been observed (in the HTerm terminal emulator) that the
event stored in the 'xterm-mouse-last-down' terminal parameter gets
overwritten during a mouse drag operation, causing Emacs to attempt to
synthesize the non-existing <drag-mouse-0> event.  Copy the event into
the terminal parameter to protect against such modifications.

* lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
of input event list.
2016-11-22 21:32:11 +01:00
Mark Oteiza
cbb2e84518 Turn on more lexical-binding
* lisp/dom.el:
* lisp/faces.el:
* lisp/htmlfontify.el: Turn on lexical-binding.
(htmlfontify-string): Use pushnew instead of add-to-list.
* lisp/info-xref.el:
* lisp/isearch.el:
* lisp/man.el:
* lisp/ps-def.el:
* lisp/ps-print.el:
* lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
time.
(multi-occur): Use cl-pushnew instead of add-to-list.
(replace-match-string-symbols): Remove unused lexical variable.
(replace-search, replace-highlight): Fix argument shadowing.
* lisp/sort.el:
* lisp/xml.el: Turn on lexical-binding.
(xml--parse-buffer): Use push instead of add-to-list.
* lisp/xt-mouse.el: Turn on lexical-binding.
2016-09-28 13:08:12 -04:00
Philipp Stephani
4ab671c48c Simplify 8-bit character handling by terminal for 'raw-text'
* lisp/international/mule.el (set-keyboard-coding-system): Treat
'raw-text' as another coding type that requires 8-bit characters.
* lisp/xt-mouse.el (xterm-mouse--read-coordinate): Use 'no-conversion'
instead of 'latin-1'.
2016-04-16 12:55:17 +03:00
Glenn Morris
bc70fda2c9 * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version. 2016-03-26 16:45:51 -04:00
Philipp Stephani
90fb9b38dd Add customization option for using UTF-8 coordinates in xt-mouse
* lisp/xt-mouse.el (xterm-mouse-utf-8): New customization option.
(xterm-mouse--read-coordinate): New function to replace
`xterm-mouse--read-utf8-char'; uses UTF-8 only if enabled.
(xterm-mouse--read-number-from-terminal): Adapt to new name.
(xterm-mouse-tracking-enable-sequence)
(xterm-mouse-tracking-disable-sequence): Replace constants with
functions, mark constants as obsolete.
(xterm-mouse--tracking-sequence): New helper function.
(turn-on-xterm-mouse-tracking-on-terminal): Use new functions;
enable UTF-8 only if customization option says so; store UTF-8
flag in terminal parameter.  (Bug#23009)

* test/automated/xt-mouse-tests.el: Add tests for xt-mouse.el.
2016-03-25 13:17:38 +03:00
Paul Eggert
0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Paul Eggert
f743819b57 Prefer "this" to “this” in doc strings
This mostly just straightens quotes introduced in my previous patch.
Suggested by Dmitry Gutov in:
http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
* lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
* lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
* lisp/textmodes/artist.el, lisp/textmodes/rst.el:
* lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
* lisp/vc/log-edit.el, lisp/xt-mouse.el:
Prefer straight double quotes to curved double quotes in doc strings.
2015-05-19 19:08:52 -07:00
Paul Eggert
9d35bb8d65 Fix minor quoting problems in doc strings
These were glitches regardless of how or whether we tackle the
problem of grave accent in doc strings.
* lisp/calc/calc-aent.el (math-restore-placeholders):
* lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
* lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
* lisp/leim/quail/hebrew.el ("hebrew-new")
("hebrew-biblical-sil"):
* lisp/leim/quail/thai.el ("thai-kesmanee"):
* lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
* lisp/calendar/calendar.el (calendar-month-abbrev-array):
* lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
* lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
* lisp/cedet/semantic/tag.el (semantic-tag-copy)
(semantic-tag-components):
* lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
* lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
* lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
* lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
* lisp/emacs-lisp/generator.el (iter-next):
* lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
(gnus-article-mode-syntax-table):
* lisp/net/rlogin.el (rlogin-directory-tracking-mode):
* lisp/net/soap-client.el (soap-wsdl-get):
* lisp/net/telnet.el (telnet-mode):
* lisp/org/org-compat.el (org-number-sequence):
* lisp/org/org.el (org-remove-highlights-with-change)
(org-structure-template-alist):
* lisp/org/ox-html.el (org-html-link-org-files-as-html):
* lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
(handwrite-12pt, handwrite-13pt):
* lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
* lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
* lisp/progmodes/verilog-mode.el (verilog-tool)
(verilog-string-replace-matches, verilog-preprocess)
(verilog-auto-insert-lisp, verilog-auto-insert-last):
* lisp/textmodes/makeinfo.el (makeinfo-options):
* src/font.c (Ffont_spec):
Fix minor quoting problems in doc strings, e.g., missing quote,
``x'' where `x' was meant, etc.
* lisp/erc/erc-backend.el (erc-process-sentinel-2):
Fix minor quoting problem in other string.
* lisp/leim/quail/ethiopic.el ("ethiopic"):
* lisp/term/tvi970.el (tvi970-set-keypad-mode):
Omit unnecessary quotes.
* lisp/faces.el (set-face-attribute, set-face-underline)
(set-face-inverse-video, x-create-frame-with-faces):
* lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
* lisp/mail/supercite.el (sc-attribs-%@-addresses)
(sc-attribs-!-addresses, sc-attribs-<>-addresses):
* lisp/net/tramp.el (tramp-methods):
* lisp/recentf.el (recentf-show-file-shortcuts-flag):
* lisp/textmodes/artist.el (artist-ellipse-right-char)
(artist-ellipse-left-char, artist-vaporize-fuzziness)
(artist-spray-chars, artist-mode, artist-replace-string)
(artist-put-pixel, artist-text-see-thru):
* lisp/vc/ediff-util.el (ediff-submit-report):
* lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
Use double-quotes rather than TeX markup in doc strings.
* lisp/skeleton.el (skeleton-pair-insert-maybe):
Reword to avoid the need for grave accent and apostrophe.
* lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
Don't use grave and acute accents to quote.
2015-05-19 15:01:16 -07:00
Paul Eggert
124ea7763a Spelling fixes 2015-03-25 18:19:52 -07:00
Stefan Monnier
76040ddd8a * lisp/xt-mouse.el (xterm-mouse--read-number-from-terminal): Fix last commit. 2015-03-25 09:34:20 -04:00
Olaf Rogalsky
c2385c6f36 * lisp/xt-mouse.el: Add mouse-tracking support.
Fixes: debbugs:19416

* lisp/xt-mouse.el: Add mouse-tracking support.
(xterm-mouse-translate-1): Handle mouse-movement events.
(xterm-mouse--read-event-sequence-1000)
(xterm-mouse--read-event-sequence-1006): Delete functions.
(xterm-mouse--read-event-sequence): New function that handles both at
the same time.  Handle mouse-movements.
(xterm-mouse--read-utf8-char, xterm-mouse--read-number-from-terminal):
New functions.
(xterm-mouse-event): Simplify.
(xterm-mouse-tracking-enable-sequence)
(xterm-mouse-tracking-disable-sequence): Enable mouse tracking.

* lisp/mouse.el (mouse-drag-line): Also ignore `vertical-line' prefix events.
2015-03-24 21:04:00 -04:00
Paul Eggert
7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Stefan Monnier
18b8557f5a * lisp/mouse.el (mouse-drag-line): Use set-transient-map.
(mouse--down-1-maybe-follows-link): Remove unused var `this-event'.
(mouse-yank-secondary): Use gui-get-selection.
(mouse--down-1-maybe-follows-link): Use read-key.

* lisp/subr.el (read-key): Fix clicks on the mode-line.
(set-transient-map): Return exit function.

* lisp/xt-mouse.el: Add `event-kind' property on the fly from
xterm-mouse-translate-1 rather than statically at the outset.

Fixes: debbugs:18015
2014-10-21 16:11:22 -04:00
Stefan Monnier
a54493b02f * lisp/xt-mouse.el (xterm-mouse-event): Don't assume last-click is non-nil.
Fixes: debbugs:18015
2014-07-19 12:56:40 -04:00
Stefan Monnier
dee89b6708 * lisp/xt-mouse.el (xterm-mouse-translate-1): Intern drag event.
Remove also pointless window&mark manipulation.

Fixes: debbugs:17894
2014-07-08 14:47:47 -04:00
Stefan Monnier
854b22ea18 * lisp/xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal)
(turn-off-xterm-mouse-tracking-on-terminal): Don't burp if the terminal
is suspended.

Fixes: debbugs:17857
2014-07-01 12:10:02 -04:00
Glenn Morris
c400516ab1 Merge from emacs-24; up to 2014-06-06T02:22:40Z!monnier@iro.umontreal.ca 2014-06-21 12:45:59 -07:00
Stefan Monnier
bc2fb4fdad * lisp/xt-mouse.el (xterm-mouse-translate-1): Fix last change.
(xterm-mouse--read-event-sequence-1000): Drop unknown events instead of
burping.

Fixes: debbugs:17776
2014-06-18 18:02:15 -04:00
Stefan Monnier
fbd5cc6ca4 * lisp/mouse.el: Use the normal toplevel loop while dragging.
(mouse-set-point): Handle multi-clicks.
(mouse-set-region): Handle multi-clicks for drags.
(mouse-drag-region): Update call accordingly.
(mouse-drag-track): Remove `do-mouse-drag-region-post-process' hack.
Use the normal event loop instead of a local while/read-event loop.
(global-map): Remove redundant bindings for double/triple-mouse-1.
* lisp/xt-mouse.el (xterm-mouse-translate-1): Only process one event at a time.
Generate synthetic down events when the protocol only sends up events.
(xterm-mouse-last): Remove.
(xterm-mouse--read-event-sequence-1000): Use xterm-mouse-last-down
terminal parameter instead.
(xterm-mouse--set-click-count): New function.
(xterm-mouse-event): Detect/generate double/triple clicks.
* lisp/reveal.el (reveal-close-old-overlays): Don't close while dragging.
2014-05-11 01:49:14 -04:00
Glenn Morris
fb3f83f5fd Merge from emacs-24; up to 2014-05-08T03:34:20Z!rgm@gnu.org 2014-05-07 20:41:21 -07:00
Stefan Monnier
b406487f52 * lisp/xt-mouse.el: Drop spurious/oddly shaped events.
(xterm-mouse--read-event-sequence-1000): Return nil if something looks fishy.
(xterm-mouse-event): Propagate it.
(xterm-mouse-translate-1): Handle it.

Fixes: debbugs:17378
2014-05-07 21:46:15 -04:00
Stefan Monnier
c22f24f6ef * lisp/xt-mouse.el (xterm-mouse--read-event-sequence-1000):
Always store button numbers in the same way in xterm-mouse-last;
Don't burp is xterm-mouse-last is not set as expected.
Never return negative indices.

Fixes: debbugs:17378
2014-05-05 19:50:20 -04:00
Daniel Colascione
bfc3079068 2014-04-17 Daniel Colascione <dancol@dancol.org>
Add support for bracketed paste mode; add infrastructure for
	managing terminal mode enabling and disabling automatically.

	* xt-mouse.el:
	(xterm-mouse-mode): Simplify.
	(xterm-mouse-tracking-enable-sequence)
	(xterm-mouse-tracking-disable-sequence): New constants.
	(turn-on-xterm-mouse-tracking-on-terminal)
	(turn-off-xterm-mouse-tracking-on-terminal): Use
	tty-mode-set-strings and tty-mode-reset-strings terminal
	parameters instead of random hooks.
	(turn-on-xterm-mouse-tracking)
	(turn-off-xterm-mouse-tracking): Delete.

	* term/xterm.el (xterm-extra-capabilities): Fix bitrotted comment.
	(xterm-paste-ending-sequence): New constant.
	(xterm-paste): New command used for bracketed paste support.

	(xterm-modify-other-keys-terminal-list): Delete obsolete variable.
	(terminal-init-xterm-bracketed-paste-mode): New function.
	(terminal-init-xterm): Call it.
	(terminal-init-xterm-modify-other-keys): Use tty-mode-set-strings
	and tty-mode-reset-strings instead of random hooks.
	(xterm-turn-on-modify-other-keys)
	(xterm-turn-off-modify-other-keys)
	(xterm-remove-modify-other-keys): Delete obsolete functions.

	* term/screen.el: Rewrite to just use the xterm code.  Add
	copyright notice.  Mention tmux.
2014-04-17 00:54:23 -07:00
Paul Eggert
ba3189039a Update copyright year to 2014 by running admin/update-copyright. 2014-01-01 07:43:34 +00:00
Stefan Monnier
25c09217a0 * lisp/xt-mouse.el (xterm-mouse-event-read): Remove.
(xterm-mouse--read-event-sequence-1000)
(xterm-mouse--read-event-sequence-1006): Use read-event instead.
2013-03-10 22:56:18 -04:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Stefan Monnier
f5695c9afd Misc minor changes.
* lisp/xt-mouse.el (xterm-mouse-translate-1, xterm-mouse-event-read):
Use read-event since we don't really want to read chars but bytes.
* lisp/emacs-lisp/macroexp.el (macroexp-let2): Use more informative names
for uninterned vars.
2012-07-17 04:15:06 -04:00
Chong Yidong
63408057e7 * xt-mouse.el: Implement extended mouse coordinates.
(xterm-mouse-translate): Move code into xterm-mouse-translate-1.
(xterm-mouse-translate-extended, xterm-mouse-translate-1)
(xterm-mouse--read-event-sequence-1000)
(xterm-mouse--read-event-sequence-1006): New functions.  For old
mouse protocol, handle M-mouse-X events correctly.
(xterm-mouse-event): New arg specifying mouse protocol.
(turn-on-xterm-mouse-tracking-on-terminal)
(turn-off-xterm-mouse-tracking-on-terminal): Send DEC 1006
sequence to toggle extended coordinates on newer XTerms.  This
appears to be harmless on terminals which do not support this.

Fixes: debbugs:10642
2012-07-14 23:40:12 +08:00
Glenn Morris
acaf905b11 Add 2012 to FSF copyright years for Emacs files 2012-01-05 01:46:05 -08:00
Chong Yidong
06e21633a4 Fix minor mode docstrings for the new meaning of a nil ARG.
* abbrev.el (abbrev-mode):
* allout.el (allout-mode):
* autoinsert.el (auto-insert-mode):
* autoarg.el (autoarg-mode, autoarg-kp-mode):
* autorevert.el (auto-revert-mode, auto-revert-tail-mode)
(global-auto-revert-mode):
* battery.el (display-battery-mode):
* composite.el (global-auto-composition-mode)
(auto-composition-mode):
* delsel.el (delete-selection-mode):
* desktop.el (desktop-save-mode):
* dired-x.el (dired-omit-mode):
* dirtrack.el (dirtrack-mode):
* doc-view.el (doc-view-minor-mode):
* double.el (double-mode):
* electric.el (electric-indent-mode, electric-pair-mode):
* emacs-lock.el (emacs-lock-mode):
* epa-hook.el (auto-encryption-mode):
* follow.el (follow-mode):
* font-core.el (font-lock-mode):
* frame.el (auto-raise-mode, auto-lower-mode, blink-cursor-mode):
* help.el (temp-buffer-resize-mode):
* hilit-chg.el (highlight-changes-mode)
(highlight-changes-visible-mode):
* hi-lock.el (hi-lock-mode):
* hl-line.el (hl-line-mode, global-hl-line-mode):
* icomplete.el (icomplete-mode):
* ido.el (ido-everywhere):
* image-file.el (auto-image-file-mode):
* image-mode.el (image-minor-mode):
* iswitchb.el (iswitchb-mode):
* jka-cmpr-hook.el (auto-compression-mode):
* linum.el (linum-mode):
* longlines.el (longlines-mode):
* master.el (master-mode):
* mb-depth.el (minibuffer-depth-indicate-mode):
* menu-bar.el (menu-bar-mode):
* minibuf-eldef.el (minibuffer-electric-default-mode):
* mouse-sel.el (mouse-sel-mode):
* msb.el (msb-mode):
* mwheel.el (mouse-wheel-mode):
* outline.el (outline-minor-mode):
* paren.el (show-paren-mode):
* recentf.el (recentf-mode):
* reveal.el (reveal-mode, global-reveal-mode):
* rfn-eshadow.el (file-name-shadow-mode):
* ruler-mode.el (ruler-mode):
* savehist.el (savehist-mode):
* scroll-all.el (scroll-all-mode):
* scroll-bar.el (scroll-bar-mode):
* server.el (server-mode):
* shell.el (shell-dirtrack-mode):
* simple.el (auto-fill-mode, transient-mark-mode)
(visual-line-mode, overwrite-mode, binary-overwrite-mode)
(line-number-mode, column-number-mode, size-indication-mode)
(auto-save-mode, normal-erase-is-backspace-mode, visible-mode):
* strokes.el (strokes-mode):
* time.el (display-time-mode):
* t-mouse.el (gpm-mouse-mode):
* tool-bar.el (tool-bar-mode):
* tooltip.el (tooltip-mode):
* type-break.el (type-break-mode-line-message-mode)
(type-break-query-mode):
* view.el (view-mode):
* whitespace.el (whitespace-mode, whitespace-newline-mode)
(global-whitespace-mode, global-whitespace-newline-mode):
* xt-mouse.el (xterm-mouse-mode): Doc fix.

* emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Fix
autogenerated docstring.
2011-10-19 08:54:24 -04:00
Chong Yidong
7be1c708c5 Merge from emacs-23 branch 2011-08-09 18:13:11 -04:00
Andreas Schwab
29bbcfa705 Fixes: debbugs:6594
* lisp/xt-mouse.el (xterm-mouse-event-read): Try to recover the raw
character.
2011-07-28 20:40:28 +02:00
Juanma Barranquero
06b605171f lisp/*.el: Lexical-binding cleanup. 2011-04-19 15:44:55 +02:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Jan D
243881ed13 * xt-mouse.el (xterm-mouse-event-read): Fix for characters > 127
now that unicode is used (Bug#6594).
2010-07-14 19:53:42 +02:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Dan Nicolaescu
393439a343 (turn-on-xterm-mouse-tracking-on-terminal)
(turn-off-xterm-mouse-tracking-on-terminal): Do not turn on the
mode on the initial terminal.
2009-02-05 07:12:27 +00:00
Glenn Morris
ae940284fa Add 2009 to copyright years. 2009-01-05 03:18:22 +00:00
Stefan Monnier
d63ddb2c67 (turn-on-xterm-mouse-tracking, turn-off-xterm-mouse-tracking):
Use terminal-list.
2008-06-10 21:56:13 +00:00