unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Jari Aalto <jari.aalto@cante.net>
To: 8439@debbugs.gnu.org
Cc: Yigal Hochberg <hochberg@dmhsoftware.com>
Subject: bug#8439: [PATCH] ffap.el -- detect paths with spaces (v2)
Date: Fri, 19 Oct 2012 10:39:36 +0300	[thread overview]
Message-ID: <874nlq9ah3.fsf@picasso.cante.net> (raw)
In-Reply-To: <87pqoyaxu0.fsf@blue.sea.net>


With some more field testing, the following patch works better.

  1. New variable ffap-paths-with-spaces controls if the behavior is in use.
     By default it is set to "t" in Windows/Cygwin where spaces in paths
     are encountered.

  2. The "path skipping" is based on finding longest distance:

     - from first "drive letter", "/" or "\"
     - until last "/", "\" followed by last non-matching-char-not-usually-found-in-file-names

  3. In Cygwin Emacs the paths are expected to be in "/cygdrive/<letter>/"
     format. This is handled as a last step.

Test by placing cursor anywhere of these path names and evaluating with
"M-:" the lisp code "(ffap-string-at-point)" over them:

  ;; c:/Program Files/Open Text Evaluation Media/Open Text Exceed 14 x86/Program here.txt
  ;; c:/Program Files/Open Text Evaluation Media/Open Text Exceed 14 x86/Program Files/Hummingbird/
  ;; c:\Program Files\Freescale\CW for MPC55xx and MPC56xx 2.10\PowerPC_EABI_Tools\Command_Line_Tools\CLT_Usage_Notes.txt

It is not possible to test the above paths with "M-x ffap" as the code by
design starts to chop path components if the path does not exist in current
environment. See:

  (defun ffap-file-at-point ()

  ...near the end....

  ;; Try all parent directories by deleting the trailing directory
  ;; name until existing directory is found or name stops changing

I'm sure the patch is not perfect as it's hard to come by a strategy to
deal with spaces but it appears to give good results. I think users' would
benefit from the space detection support.

Thanks for Yigal Hochberg for testing the functionality in Windows,
Jari





  parent reply	other threads:[~2012-10-19  7:39 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-07 15:24 bug#8439: [PATCH] ffap.el -- detect paths with spaces Jari Aalto
2011-07-03 23:29 ` Lars Magne Ingebrigtsen
2012-10-19  7:39 ` Jari Aalto [this message]
2012-10-19  9:49   ` bug#8439: [PATCH] ffap.el -- detect paths with spaces (v2) Eli Zaretskii
2012-10-19 10:05     ` jari
2012-10-19 11:15       ` Yigal Hochberg
2012-10-19 11:22       ` Eli Zaretskii
2012-10-19 12:15       ` Nicolas Richard
2012-10-19 21:47     ` Andrew W. Nosenko
2012-10-19 22:23       ` Eli Zaretskii
2012-10-19 22:36       ` Yigal Hochberg
2012-10-19 22:57         ` Andrew W. Nosenko
2012-10-19 23:24         ` Yigal Hochberg
2012-10-20  1:45       ` Stefan Monnier
2012-10-20 11:01       ` Juri Linkov
2012-10-19  8:35 ` Jari Aalto
2012-10-20  1:44   ` Stefan Monnier
2012-10-20  1:49     ` Daniel Colascione
2012-10-20  7:56     ` bug#8439: [PATCH] ffap.el -- detect paths with spaces (v3) jari
2012-10-20  8:45       ` bug#8439: [PATCH] ffap.el -- detect paths with spaces (v4) jari
2012-10-20 10:20         ` Eli Zaretskii
2012-10-21  0:18         ` Stefan Monnier
2012-10-21  8:07           ` Jari Aalto
2019-11-23 13:31         ` bug#6695: " Lars Ingebrigtsen
2020-08-14 13:08           ` Lars Ingebrigtsen
2020-08-15  9:07             ` Eli Zaretskii
2020-08-15 10:13               ` Lars Ingebrigtsen
2012-10-20  8:11     ` bug#8439: [PATCH] ffap.el -- detect paths with spaces (v2) Eli Zaretskii
2012-10-21  0:16       ` Stefan Monnier

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=874nlq9ah3.fsf@picasso.cante.net \
    --to=jari.aalto@cante.net \
    --cc=8439@debbugs.gnu.org \
    --cc=hochberg@dmhsoftware.com \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).