all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Jean-Christophe Helary <jean.christophe.helary@gmail.com>
To: emacs-devel <emacs-devel@gnu.org>
Subject: Re: lisp/term/ns-win.el modification
Date: Thu, 27 Apr 2017 23:53:09 +0900	[thread overview]
Message-ID: <0A49E755-3D18-48E8-81D4-253160F60A16@gmail.com> (raw)
In-Reply-To: <CABr8ebZtZiJsC8ZXgJvMMrUvrNFWQrLHYMTmRspHDdDtP7U0eA@mail.gmail.com>


> On Apr 27, 2017, at 20:30, Anders Lindgren <andlind@gmail.com> wrote:
> 
> 
>> Ok, but such a trimming function is trivial and I don't see how my rewriting it to make it different from that code would add to it. What should I do?

> Since it's small you could inline it and drop the comment. You could try to rewrite the code into containing only one match and one replace.

Ok, I'll do.
 
>> Aha, I have't used Services that much. Can you give me a step-by-step description on how to use them, where the current system doesn't work. (Concretely, is this I do from within Emacs, from Finder, or from some other program?)

1) Select a path in any application where text can be selected
2) Go to the application menu and select Services > Open Selected File
3) The file should open in Emacs.app if it exists. If it doesn't, a buffer named after the name part of the path is opened.

Problem:

a) if the selected string is not trimmed (for ex you triple-clicked the line and it contained leading or trailing ws), the file won't open because the ws is considered integral part of the path

b) if the selection contains more than 1 line (for ex. a list of paths on multiple lines), no file will open since the whole string is considered the path

What I wrote solves a) and b) by splitting the selected string (except on spaces), by trimming the resulting paths, and by looping the original function on the thus created list of paths.
 
> I mean what the string contains. Your code splits it on certain characters: "[\f\t\n\r\v]+". It is always good to be able to go to some documentation, to verify that these really are the characters that delimiter file names. However, if the content is an arbitrary text file, then that should be mentioned.

The content is an arbitrary string selected in any application that supports services. I've removed \s from the delimiters *because* spaces can be part of a path on Mac.

> I don't want to modify the ns-spi-service-call block more than necessary.
> 
> If all you do is to place the call inside a dolist, you should be ok. Introducing additional functions (only used in one location) isn't 100% clean either.

Ok, that's something I'll try to do. Thank you.

> Trimming newline should obviously be done. How often does files contain trailing whitespace? (I guess initial whitespace is more common.) Anyway, once I have a concrete example to test, it will hopefully clear up for me.

Create an absolute path like /User/path/to/file or a relative path like ~/path/to/file, select them and call the service on the selection.

The only issue that I see is when a file name *ends* with (normal) spaces, which is unlikely to happen, even if possible.

Jean-Christophe 


  reply	other threads:[~2017-04-27 14:53 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-27  4:50 lisp/term/ns-win.el modification Jean-Christophe Helary
2017-04-27  9:02 ` Anders Lindgren
2017-04-27 10:13   ` Jean-Christophe Helary
2017-04-27 11:30     ` Anders Lindgren
2017-04-27 14:53       ` Jean-Christophe Helary [this message]
2017-04-27 15:09         ` Davis Herring
2017-04-27 15:31           ` Jean-Christophe Helary
2017-04-27 23:32           ` Jean-Christophe Helary
     [not found]             ` <15112485-03CC-4FFF-8A9D-BA28D2490A91-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-28  1:49               ` Jean-Christophe Helary
2017-04-29 12:24                 ` Anders Lindgren
     [not found]                   ` <CABr8ebaB1Fp0BgVy7LWwtOnSs1UOXr3CJumMfOWR4JOooQMT4g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-04-29 12:49                     ` Jean-Christophe Helary
2017-04-30  5:36                       ` Anders Lindgren
2017-04-30 12:14                         ` Noam Postavsky
2017-04-30  6:41                   ` Jean-Christophe Helary
2017-04-30 14:12                     ` Eli Zaretskii
2017-04-30 15:06                       ` Clément Pit-Claudel
2017-04-30 15:24                         ` Eli Zaretskii
2017-04-30 22:28                           ` Jean-Christophe Helary
2017-05-01  6:33                             ` Eli Zaretskii
2017-05-01  8:23                               ` Jean-Christophe Helary
2017-05-01  8:59                                 ` Eli Zaretskii
2017-05-01 10:53                                   ` Jean-Christophe Helary
2017-05-01 11:27                                     ` Eli Zaretskii
2017-05-02  4:00                                       ` Jean-Christophe Helary
2017-05-02  6:44                                         ` Eli Zaretskii
2017-05-02  6:47                                           ` Jean-Christophe Helary
2017-05-01 15:12                                   ` Jean-Christophe Helary
2017-05-01 15:27                                     ` Eli Zaretskii
2017-05-01 15:58                                       ` Jean-Christophe Helary
2017-05-01 16:25                                         ` Eli Zaretskii
2017-05-02 12:57                                           ` Jean-Christophe Helary
2017-05-03 20:40                                             ` Anders Lindgren
2017-05-04  0:10                                               ` Jean-Christophe Helary
2017-05-04  8:50                                               ` Jean-Christophe Helary
2017-05-04 18:37                                                 ` Anders Lindgren
2017-05-05  8:36                                                   ` Jean-Christophe Helary
2017-04-30 22:23                       ` Jean-Christophe Helary
2017-05-01  6:30                         ` Eli Zaretskii
2017-04-27 12:24     ` Noam Postavsky
2017-04-27 14:53       ` Jean-Christophe Helary
2017-04-27 12:51     ` mituharu
2017-04-27 14:55       ` Jean-Christophe Helary
2017-04-27 15:35       ` Jean-Christophe Helary
2017-04-27 18:28         ` mituharu
2017-04-27 23:29           ` Jean-Christophe Helary

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0A49E755-3D18-48E8-81D4-253160F60A16@gmail.com \
    --to=jean.christophe.helary@gmail.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.