Commit graph

134 commits

Author SHA1 Message Date
Po Lu 0a32037c92 Implement DELETE selection target for cross program drags
* lisp/mouse.el (mouse-drag-and-drop-region): Make sure mark
stays deactivated if a "cut" operation was performed.
* lisp/select.el (xselect-convert-to-delete): Don't clear
selection contents if it's the XdndSelection.
2022-04-02 14:59:08 +08:00
Ignacio 2b564f504b Better check for when clipboard or primary selection have changed
Previously it was done by just comparing new and old selection
text, now we use also selection timestamps for systems that
support it (only enabled in X for now).  (bug#53894)

* lisp/select.el: (gui--last-selection-timestamp-clipboard)
(gui--last-selection-timestamp-primary): New variables.

(gui--set-last-clipboard-selection)
(gui--set-last-primary-selection)
(gui--clipboard-selection-unchanged-p)
(gui--primary-selection-unchanged-p): New functions.
2022-04-01 20:57:54 +08:00
Po Lu 540e7298a9 Make dropping files on Motif programs work
* lisp/dired.el (dired-mouse-drag): Announce "FILE" and
"FILE_NAME" as targets as well.
* lisp/select.el (xselect-convert-to-filename): Handle
XdndSelection specially.
(xselect-convert-to-xm-file): New function.
(selection-converter-alist): Add new converters.
2022-04-01 09:50:58 +08:00
Po Lu 1d4306a8a7 Implement Motif drop protocol
This is the second most widely implemented drag-and-drop
protocol on X Windows, but seems to have some unsolvable
problems (i.e. stuff will keep accumulating in the drag window
as long the target lists keep changing.)  The implementation is
not yet complete and doesn't work with some programs.

* lisp/select.el (xselect-convert-xm-special): New functions.
(selection-converter-alist): Add new converters.
* lisp/x-dnd.el (x-dnd-handle-motif): Ignore messages sent by
the receiver.
* src/xterm.c (xm_targets_table_byte_order): New enum;
(SWAPCARD32, SWAPCARD16): New macros.
(xm_targets_table_rec, xm_drop_start_message)
(xm_drag_initiator_info, xm_drag_receiver_info): New structures.
(XM_DRAG_SIDE_EFFECT, xm_read_targets_table_header)
(xm_read_targets_table_rec, xm_find_targets_table_idx)
(x_atoms_compare, xm_write_targets_table)
(xm_write_drag_initiator_info, xm_get_drag_window)
(xm_setup_dnd_targets, xm_send_drop_message)
(xm_read_drag_receiver_info): New functions.
(x_dnd_compute_toplevels): Correctly free some temp data.
(x_dnd_get_window_proxy, x_dnd_get_window_proto)
(x_set_frame_alpha): Likewise.
(handle_one_xevent): If the window has no XDND proto but has
motif drag receiver data, send a motif drop protocol request.
(x_term_init): New atoms for Motif DND support.
* src/xterm.h (struct x_display_info): Add new atoms.
2022-03-31 17:21:37 +08:00
Po Lu 3f19a23c1f Fix doc of gui-get-selection' as to what is really valid as data'
* doc/lispref/frames.texi (Window System Selections):
* lisp/select.el (gui-set-selection): Don't say `data' can be a
cons or list of two integers, since that's not supported.
2022-03-28 20:35:16 +08:00
Stefan Monnier 288ecdf90c * lisp/select.el (xselect-convert-to-targets): Use delete-dups and delq 2022-03-24 05:32:10 -04:00
Po Lu 45609c347e Allow dragging files from Dired to other programs
* etc/NEWS: Announce new user option `dired-mouse-drag-files'.
* lisp/dired.el (dired-mouse-drag-files): New user option.
(dired-mouse-drag): New command.
(dired-mouse-drag-files-map): New variable.
(dired-insert-set-properties): Add additional keymap if mouse
dragging is enabled.

* lisp/select.el (xselect-convert-to-targets): Handle new
form of selection converters.
(xselect-convert-to-username):
(xselect-convert-to-text-uri-list):
(xselect-uri-list-available-p): New functions.
(selection-converter-alist): Add them as selection converters.

* src/xselect.c (x_get_local_selection): Handle new form of
selection converters.
(syms_of_xselect): Update doc strings.
2022-03-18 13:17:19 +08:00
Po Lu e8d7139b4e Fix minor bugs with XDND support
* lisp/mouse.el (mouse-drag-and-drop-region): Report more
selection targets for the benefit of Qt and Mozilla.
* lisp/select.el (xselect--encode-string)
(selection-converter-alist): Add new selection targets.

* src/xterm.c (x_dnd_get_window_proxy): New function.
(x_dnd_get_target_window): New argument proto_out, and return
first window with XdndAware instead of bottommost window.
(handle_one_xevent): Use new argument `proto_out'.
2022-03-16 17:03:19 +08:00
Po Lu b47d36f189 Improve Haiku selection handling
* lisp/select.el (gui--selection-value-internal): Use X types on
Haiku as well.

* lisp/term/haiku-win.el (haiku--selection-type-to-mime): Update
types to correspond better with X.

* src/haikuselect.c (Fhaiku_selection_data):
(Fhaiku_selection_put): Remove a great deal of ad hoc code now
handled by the regular selection machinery.
2022-02-14 10:26:29 +00:00
Po Lu cfbb6359ce ; * lisp/select.el (gui--selection-value-internal): Fix comment. 2022-02-01 13:24:55 +08:00
Po Lu 99c637499e Only apply last change to the clipboard
* lisp/select.el (gui--selection-value-internal): Only return
nil if we own the clipboard.
2022-02-01 10:13:15 +08:00
Po Lu 16174d796f Avoid extraneous selection querying if we own the selection
* lisp/select.el (gui--selection-value-internal): Return nil if
`gui-backend-selection-owner-p' on window systems where it is
reliable.
2022-02-01 02:03:05 +00:00
Eli Zaretskii dcd76bd48d Merge from origin/emacs-28
836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year.
86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year
ebe8772f65 ; Minor fixes related to copyright years
23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye...
8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t.
19dcb237b5 ; Add 2022 to copyright years.

# Conflicts:
#	etc/NEWS
#	etc/refcards/ru-refcard.tex
#	lib/cdefs.h
#	lisp/erc/erc-dcc.el
#	lisp/erc/erc-imenu.el
#	lisp/erc/erc-replace.el
#	lisp/image-dired.el
#	lisp/progmodes/xref.el
#	m4/alloca.m4
#	m4/byteswap.m4
#	m4/errno_h.m4
#	m4/getopt.m4
#	m4/gnulib-common.m4
#	m4/inttypes.m4
#	m4/stddef_h.m4
#	m4/stdint.m4
#	m4/sys_socket_h.m4
2022-01-01 07:03:03 -05:00
Eli Zaretskii 19dcb237b5 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
Yuuki Harano c31d3dacf7 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtk 2021-11-13 16:25:48 +09:00
Lars Ingebrigtsen 396355f46b Re-fix charset issues when yanking non-plain-text elements
* lisp/select.el (gui-get-selection): Make (gui-get-selection
'CLIPBOARD 'text/html) get decoded correctly (bug#31149), but still
avoid the logic on Windows.
2021-11-11 05:22:02 +01:00
Yuuki Harano 4dd1f56f29 Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs into feature/pgtk 2021-11-11 00:39:53 +09:00
Lars Ingebrigtsen 10b4cbb2fc Revert "Fix charset issues when yanking non-plain-text elements"
This reverts commit 5e66c75e0b.

This apparently led to problems on Windows.  The issues have to
be examined first before attempting a new fix.
2021-11-08 12:22:56 +01:00
Lars Ingebrigtsen 5e66c75e0b Fix charset issues when yanking non-plain-text elements
* lisp/select.el (gui-get-selection): Make (gui-get-selection
'CLIPBOARD 'text/html) get decoded correctly (bug#31149).
2021-11-08 02:04:40 +01:00
Stefan Kangas 357d273d2e Remove redundant #' before lambda
* admin/unidata/unidata-gen.el (unidata-gen-table)
(unidata-gen-table-symbol, unidata-gen-table-integer)
(unidata-gen-table-numeric, unidata-gen-table-word-list)
(unidata-describe-decomposition):
* lisp/apropos.el (apropos-user-option):
* lisp/bookmark.el (bookmark-bmenu-search):
* lisp/composite.el (unicode-category-table):
* lisp/elec-pair.el (electric-pair--balance-info):
* lisp/electric.el (electric-quote-chars):
* lisp/emulation/cua-base.el (cua-rectangle-mark-key):
* lisp/epa-hook.el (epa-file-encrypt-to):
* lisp/faces.el (face-font-selection-order)
(face-font-family-alternatives, face-font-registry-alternatives)
(face-valid-attribute-values, tty-run-terminal-initialization):
* lisp/files.el (recover-file, file-expand-wildcards):
* lisp/frame.el (frames-on-display-list):
* lisp/help-at-pt.el (help-at-pt-display-when-idle):
* lisp/help-fns.el (help-fns--face-attributes):
* lisp/ido.el (ido-mode, ido-unc-hosts):
* lisp/isearch.el (isearch-highlight-regexp)
(isearch-highlight-lines-matching-regexp):
* lisp/language/indian.el (script-regexp-alist):
* lisp/language/lao.el:
* lisp/leim/quail/ipa.el (ipa-x-sampa-prepend-to-keymap-entry):
* lisp/mh-e/mh-folder.el (mh-process-commands):
* lisp/mh-e/mh-mime.el (mh-display-with-external-viewer):
* lisp/ps-mule.el (ps-mule-end-job):
* lisp/ps-print.el (ps-color-scale, ps-background-pages)
(ps-background-text, ps-background-image, ps-background)
(ps-begin-job, ps-print-translation-table):
* lisp/recentf.el (recentf-sort-ascending)
(recentf-sort-descending, recentf-sort-basenames-ascending)
(recentf-sort-basenames-descending)
(recentf-sort-directories-ascending)
(recentf-sort-directories-descending):
* lisp/replace.el (occur-engine-add-prefix):
* lisp/select.el (xselect--encode-string):
* lisp/server.el (server-use-tcp):
* lisp/ses.el (ses-sort-column):
* lisp/sort.el (sort-columns):
* lisp/term/ns-win.el (window-system-initialization):
* lisp/tree-widget.el (tree-widget-image-formats):
* lisp/whitespace.el (whitespace-report-region): Remove redundant #'
before lambda.
2021-10-21 23:35:07 +02:00
Mattias Engdegård 051434fdef Use string-replace instead of replace-regexp-in-string
`string-replace` is easier to understand, less error-prone, much
faster, and results in shorter Lisp and byte code.  Use it where
applicable and obviously safe (erring on the conservative side).

* admin/authors.el (authors-scan-change-log):
* lisp/autoinsert.el (auto-insert-alist):
* lisp/calc/calc-prog.el (calc-edit-macro-combine-alg-ent)
(calc-edit-macro-combine-ext-command)
(calc-edit-macro-combine-var-name):
* lisp/calc/calc-units.el (math-make-unit-string):
* lisp/calendar/cal-html.el (cal-html-comment):
* lisp/calendar/cal-tex.el (cal-tex-comment):
* lisp/calendar/icalendar.el (icalendar--convert-string-for-export)
(icalendar--convert-string-for-import):
* lisp/calendar/iso8601.el (iso8601--concat-regexps)
(iso8601--full-time-match, iso8601--combined-match):
* lisp/calendar/time-date.el (format-seconds):
* lisp/calendar/todo-mode.el (todo-filter-items-filename):
* lisp/cedet/cedet-files.el (cedet-directory-name-to-file-name)
(cedet-file-name-to-directory-name):
* lisp/comint.el (comint-watch-for-password-prompt):
* lisp/dired-aux.el (dired-do-chmod):
* lisp/dired-x.el (dired-man):
* lisp/dired.el (dired-insert-directory, dired-goto-file-1):
* lisp/emacs-lisp/comp.el (comp-c-func-name):
* lisp/emacs-lisp/re-builder.el (reb-copy):
* lisp/erc/erc-dcc.el (erc-dcc-unquote-filename):
* lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy)
(erc-update-mode-line-buffer, erc-message-english-PART):
* lisp/files.el (make-backup-file-name-1, files--transform-file-name)
(read-file-modes):
* lisp/fringe.el (fringe-mode):
* lisp/gnus/gnus-art.el (gnus-button-handle-info-url):
* lisp/gnus/gnus-group.el (gnus-group-completing-read):
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical):
* lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy):
* lisp/gnus/gnus-search.el (gnus-search-query-parse-date)
(gnus-search-transform-expression, gnus-search-run-search):
* lisp/gnus/gnus-start.el (gnus-dribble-enter):
* lisp/gnus/gnus-sum.el (gnus-summary-refer-article):
* lisp/gnus/gnus-util.el (gnus-mode-string-quote):
* lisp/gnus/message.el (message-put-addresses-in-ecomplete)
(message-parse-mailto-url, message-mailto-1):
* lisp/gnus/mml-sec.el (mml-secure-epg-sign):
* lisp/gnus/mml-smime.el (mml-smime-epg-verify):
* lisp/gnus/mml2015.el (mml2015-epg-verify):
* lisp/gnus/nnmaildir.el (nnmaildir--system-name)
(nnmaildir-request-list, nnmaildir-retrieve-groups)
(nnmaildir-request-group, nnmaildir-retrieve-headers):
* lisp/gnus/nnrss.el (nnrss-node-text):
* lisp/gnus/spam-report.el (spam-report-gmane-internal)
(spam-report-user-mail-address):
* lisp/ibuffer.el (name):
* lisp/image-dired.el (image-dired-pngnq-thumb)
(image-dired-pngcrush-thumb, image-dired-optipng-thumb)
(image-dired-create-thumb-1):
* lisp/info.el (Info-set-mode-line):
* lisp/international/mule-cmds.el (describe-language-environment):
* lisp/mail/rfc2231.el (rfc2231-parse-string):
* lisp/mail/rfc2368.el (rfc2368-parse-mailto-url):
* lisp/mail/rmail.el (rmail-insert-inbox-text)
(rmail-simplified-subject-regexp):
* lisp/mail/rmailout.el (rmail-output-body-to-file):
* lisp/mail/undigest.el (rmail-digest-rfc1153):
* lisp/man.el (Man-default-man-entry):
* lisp/mouse.el (minor-mode-menu-from-indicator):
* lisp/mpc.el (mpc--debug):
* lisp/net/browse-url.el (browse-url-mail):
* lisp/net/eww.el (eww-update-header-line-format):
* lisp/net/newst-backend.el (newsticker-save-item):
* lisp/net/rcirc.el (rcirc-sentinel):
* lisp/net/soap-client.el (soap-decode-date-time):
* lisp/nxml/rng-cmpct.el (rng-c-literal-2-re):
* lisp/nxml/xmltok.el (let*):
* lisp/obsolete/nnir.el (nnir-run-swish-e, nnir-run-hyrex)
(nnir-run-find-grep):
* lisp/play/dunnet.el (dun-doassign):
* lisp/play/handwrite.el (handwrite):
* lisp/proced.el (proced-format-args):
* lisp/profiler.el (profiler-report-header-line-format):
* lisp/progmodes/gdb-mi.el (gdb-mi-quote):
* lisp/progmodes/make-mode.el (makefile-bsdmake-rule-action-regex)
(makefile-make-font-lock-keywords):
* lisp/progmodes/prolog.el (prolog-guess-fill-prefix):
* lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
* lisp/progmodes/sql.el (sql-remove-tabs-filter, sql-str-literal):
* lisp/progmodes/which-func.el (which-func-current):
* lisp/replace.el (query-replace-read-from)
(occur-engine, replace-quote):
* lisp/select.el (xselect--encode-string):
* lisp/ses.el (ses-export-tab):
* lisp/subr.el (shell-quote-argument):
* lisp/term/pc-win.el (msdos-show-help):
* lisp/term/w32-win.el (w32--set-selection):
* lisp/term/xterm.el (gui-backend-set-selection):
* lisp/textmodes/picture.el (picture-tab-search):
* lisp/thumbs.el (thumbs-call-setroot-command):
* lisp/tooltip.el (tooltip-show-help-non-mode):
* lisp/transient.el (transient-format-key):
* lisp/url/url-mailto.el (url-mailto):
* lisp/vc/log-edit.el (log-edit-changelog-ours-p):
* lisp/vc/vc-bzr.el (vc-bzr-status):
* lisp/vc/vc-hg.el (vc-hg--glob-to-pcre):
* lisp/vc/vc-svn.el (vc-svn-after-dir-status):
* lisp/xdg.el (xdg-desktop-strings):
* test/lisp/electric-tests.el (defun):
* test/lisp/term-tests.el (term-simple-lines):
* test/lisp/time-stamp-tests.el (formatz-mod-del-colons):
* test/lisp/wdired-tests.el (wdired-test-bug32173-01)
(wdired-test-unfinished-edit-01):
* test/src/json-tests.el (json-parse-with-custom-null-and-false-objects):
Use `string-replace` instead of `replace-regexp-in-string`.
2021-08-08 19:25:26 +02:00
Yuuki Harano b242394f24 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtk 2021-07-18 18:44:54 +09:00
Lars Ingebrigtsen 855fd92120 Make `M-x clipboard-yank' work reliably
* lisp/menu-bar.el (clipboard-yank): Make the command work
consistently (bug#27442).

* lisp/select.el (gui-selection-value): Try to explain why the
logic is the way it is.
2021-07-06 19:25:41 +02:00
Yuuki Harano 565995d408 Fix unicode strings can't be pasted correctly
* lisp/select.el (x-select-request-type): Use text/plain;charset=utf-8
instead.
(gui--selection-value-internal): same.
(gui-get-selection): Treat text/plain;charset=utf-8 as utf-8.
* src/pgtkselect.c (Fpgtk_get_selection_internal): Support
text/plain;charset=utf-8 as foreign-selection.
(syms_of_pgtkselect): Add new symbol.
2021-03-02 22:44:42 +09:00
Yuuki Harano 436f21eda1 Support selection type text/plain on wayland
Apps on XWayland need this.

* lisp/select.el (x-select-request-type): Add choice `text/plain'.
(gui--selection-value-internal): Add text/plain to the default list.
2021-03-02 21:08:50 +09:00
Yuuki Harano f094806ffb Fix I can't paste international text from clipboard
* lisp/select.el (gui--selection-value-internal):
Try UTF8_STRING when pgtk as well as x.
2021-02-16 23:41:33 +09:00
Paul Eggert ba05d005e5 Update copyright year to 2021
Run "TZ=UTC0 admin/update-copyright".
2021-01-01 01:13:56 -08:00
Paul Eggert 365e01cc9f Update copyright year to 2020
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2020-01-01 00:59:52 +00:00
Stefan Kangas 897540069f Change gui--selection-value-internal comment into doc string
* lisp/select.el (gui--selection-value-internal): Change comment into
doc string.  (Bug#25528)
2019-09-13 14:57:23 +02:00
Eli Zaretskii 0b733a24ac ; * lisp/select.el (xselect--encode-string): Fix a thinko. 2019-06-22 12:38:05 +03:00
Eli Zaretskii 58a3c54c7e Avoid using string-make-unibyte in select.el
* lisp/select.el (selection-coding-system): Doc fix.
(xselect--encode-string): For C_STRING, if the text is not
already unibyte, use encode-coding-string instead of
string-make-multibyte to make it unibyte.
2019-06-22 11:34:23 +03:00
Paul Eggert f744797af1 Go back to "Maintainer: emacs-devel@gnu.org"
Restore lines saying "Maintainer: emacs-devel@gnu.org" when there is
no special maintainer for a file.  Although this wasn't documented
it was common practice and removing the lines didn't have consensus.
2019-05-25 14:25:18 -07:00
Paul Eggert bef1be8730 Fixes for "Maintainer:" and related lines
Mostly, this just removes "Maintainer: emacs-devel@gnu.org" lines,
which are not that useful.  It also cleans up and regularizes a
few similar lines.
2019-05-19 21:34:27 -07:00
Eli Zaretskii 53e18401e5 Fix a recent commit in select.el
* lisp/select.el (gui-get-selection): Revert a recent
incorrect change.  Add a comment explaining what we are trying
to do with C_STRING and why.
(xselect--encode-string): Add a comment explaining what we are
trying to do with C_STRING and why.
2019-05-17 11:01:20 +03:00
Lars Ingebrigtsen ab263a7980 (gui-get-selection): Avoid using `string-to-multibyte'
* lisp/select.el (gui-get-selection): Avoid using
`string-to-multibyte' -- instead encode as `eight-bit' if the
string is unibyte.
2019-05-17 05:42:12 +02:00
Paul Eggert ba809612c0 Merge from origin/emacs-26
2fcf2df Fix copyright years by hand
26bed8b Update copyright year to 2019
2814292 Fix value of default frame height.  (Bug#33921)
2018-12-31 17:57:29 -08:00
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
Glenn Morris 9c3eeba4db The tedious game of whack-a-mole with compiler warnings continues
* lisp/abbrev.el (edit-abbrevs-map):
* lisp/emacs-lock.el (emacs-lock-from-exiting):
* lisp/htmlfontify.el (hfy-optimisations):
* lisp/ielm.el (inferior-emacs-lisp-mode-hook)
(inferior-emacs-lisp-mode-map):
* lisp/isearch.el (isearch-lazy-highlight-word):
* lisp/select.el (x-select-enable-clipboard, x-select-enable-primary):
* lisp/shell.el (shell-dirtrack-mode):
* lisp/skeleton.el (skeleton-transformation, skeleton-filter):
* lisp/startup.el (inhibit-splash-screen, inhibit-startup-message):
* lisp/window.el (even-window-heights):
* lisp/calendar/timeclock.el (timeclock-modeline-display):
* lisp/cedet/semantic/db-mode.el (semanticdb-mode-hook)
(semanticdb-global-mode):
* lisp/emacs-lisp/edebug.el (gud-inhibit-global-bindings):
* lisp/emacs-lisp/warnings.el (display-warning-minimum-level)
(log-warning-minimum-level):
* lisp/erc/erc-dcc.el (erc-dcc-chat-filter-hook):
* lisp/gnus/nnspool.el (news-path):
* lisp/org/org-agenda.el (org-agenda-search-view-search-words-only)
(org-agenda-remove-tags-when-in-prefix)
(org-agenda-align-tags-to-column, org-agenda-keymap):
* lisp/org/org.el (org-special-ctrl-a)
(org-log-state-notes-into-drawer)
(org-agenda-multi-occur-extra-files):
* lisp/progmodes/flymake-proc.el (flymake-err-line-patterns)
(flymake-check-file-limit):
* lisp/progmodes/make-mode.el (makefile-query-one-target-method):
* lisp/progmodes/octave.el (inferior-octave-startup-hook):
* lisp/progmodes/python.el (python-buffer)
(python-preoutput-result):
* lisp/progmodes/sql.el (sql-dialect):
* lisp/textmodes/artist.el (artist-text-renderer):
* lisp/textmodes/bibtex.el (bibtex-autokey-name-case-convert)
(bibtex-autokey-titleword-case-convert):
* lisp/textmodes/flyspell.el (flyspell-generic-check-word-p):
* lisp/textmodes/ispell.el (ispell-format-word):
* lisp/textmodes/rst.el (rst-preferred-decorations):
* lisp/textmodes/sgml-mode.el (sgml-transformation):
Move aliases before targets, to silence new compiler warning.
* lisp/term/ns-win.el (ns-option-modifier, ns-right-option-modifier):
Silence warning.
2018-04-20 18:34:39 -04:00
Eli Zaretskii 274c979649 * lisp/select.el (gui-get-selection): Doc fix. 2018-04-14 10:53:34 +03:00
Paul Eggert 5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Philipp Stephani 336cd0a11a ; * lisp/select.el (select-enable-primary): Add missing period. 2017-10-29 17:32:35 +01: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
Noam Postavsky c87c87fcc3 Escape NUL bytes in X selections (Bug#6991)
* lisp/term/w32-win.el (w32--set-selection):
* lisp/select.el (xselect--encode-string): Replace NUL bytes with
"\0".
* doc/emacs/killing.texi: Document new behavior.
* etc/NEWS (times): Announce it.
2017-06-29 19:40:23 -04:00
Eli Zaretskii ee65d858c7 Fix ':version' of 'select-enable-primary'
* lisp/select.el (select-enable-primary): Fix a typo in
':version'.  (Bug#25375)
2017-01-06 15:23:17 +02:00
Paul Eggert 5badc81c1c Update copyright year to 2017
Run admin/update-copyright.
2016-12-31 19:42:26 -08:00
Paul Eggert 0e963201d0 Update copyright year to 2016
Run admin/update-copyright.
2016-01-01 01:34:24 -08:00
Mike FABIAN 1a588cb6dc In gui-get-primary-selection use gui--selection-value-internal (Bug#20906)
* lisp/select.el (gui-get-primary-selection): In gui-get-primary-selection
use gui--selection-value-internal (Bug#20906)
2015-10-12 10:34:51 +02:00
Stefan Monnier 919281ddb2 Replace gui-method macros with cl-generic with &context
* lisp/frame.el (gui-method--name, gui-method, gui-method-define)
(gui-method-declare, gui-call): Remove.
(frame-creation-function): Use cl-defgeneric.
(make-frame): Adjust callers.

* lisp/menu-bar.el (menu-bar-edit-menu):
Use gui-backend-selection-exists-p.

* lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
(gui-backend-get-selection): New cl-generic to replace
gui-get-selection method.
(gui-backend-set-selection): New cl-generic to replace
gui-set-selection method.
(gui-selection-owner-p): New cl-generic to replace
gui-selection-owner-p method.
(gui-backend-selection-exists-p): New cl-generic to replace
gui-selection-exists-p method.  Adjust all callers.

* lisp/server.el (server-create-window-system-frame): Don't ignore
window-system spec even when unsupported.

* lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.

* lisp/startup.el (handle-args-function, window-system-initialization):
Use cl-defgeneric.
(command-line): Adjust calls accordingly.

* lisp/term/ns-win.el (ns-window-system-initialization): Turn into
a window-system-initialization method.
(handle-args-function, frame-creation-function): Use cl-defmethod.
(gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
(gui-get-selection): Use cl-defmethod on the new functions instead.

* lisp/term/pc-win.el (w16-get-selection-value): Turn into
a gui-backend-get-selection method.
(gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
Use cl-defmethod on the new functions instead.
(msdos-window-system-initialization): Turn into
a window-system-initialization method.
(frame-creation-function, handle-args-function): Use cl-defmethod.

* lisp/term/w32-win.el (w32-window-system-initialization): Turn into
a window-system-initialization method.
(handle-args-function, frame-creation-function): Use cl-defmethod.
(gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
(gui-get-selection): Use cl-defmethod on the new functions instead.

* lisp/term/x-win.el (x-window-system-initialization): Turn into
a window-system-initialization method.
(handle-args-function, frame-creation-function): Use cl-defmethod.
(gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
(gui-get-selection): Use cl-defmethod on the new functions instead.

* lisp/term/xterm.el (xterm--set-selection): Turn into
a gui-backend-set-selection method.

* src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
(Fns_selection_owner_p): Remove unused arg `terminal'.
(Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
2015-05-23 11:32:29 -04:00
Paul Eggert 7e09ef09a4 Update copyright year to 2015
Run admin/update-copyright.
2015-01-01 14:26:41 -08:00
Jan Djärv 722afcab51 * lisp/select.el (gui-get-selection): Comment: data-type ignored on NS.
* src/nsselect.m (ns_get_local_selection): Remove calling of
functions in Vselection_converter_alist.
(syms_of_nsselect): Remove Vselection_converter_alist.

Fixes: debbugs:18911
2014-11-01 12:37:14 +01:00