unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Jorge Alberto Garcia <jorge.garcia.gonzalez@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Yuri Khan <yuri.v.khan@gmail.com>,
	Kaushal Modi <kaushal.modi@gmail.com>,
	Emacs developers <emacs-devel@gnu.org>,
	David Caldwell <david@porkrind.org>
Subject: Re: [PATCH] add emacsclient support to open with file:linum syntax
Date: Tue, 12 Jan 2016 10:24:57 -0600	[thread overview]
Message-ID: <CAPfrtUf6wR=tmEWdKJOW1OGqkV5_SJSfTbBxB7VBtYpuqog+=A@mail.gmail.com> (raw)
In-Reply-To: <CAPfrtUfF4z5URSjCM3TNtKxYJym8AuFFZgFRmoSBxJey3Quk8w@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 663 bytes --]

On Sun, Jan 10, 2016 at 2:37 AM, Jorge Alberto Garcia
<jorge.garcia.gonzalez@gmail.com> wrote:
> On Sun, Jan 10, 2016 at 2:22 AM, Yuri Khan <yuri.v.khan@gmail.com> wrote:
>> On Sun, Jan 10, 2016 at 4:51 AM, Jorge Alberto Garcia
>> <jorge.garcia.gonzalez@gmail.com> wrote:
>>
>>> I added a new flag as indicated by Eli Zaretskii using Yuri Khan's
>>> suggested flag name:
>>
>> Give credit where it’s due: it was Kaushal Modi who suggested the flag name
> my bad, thanks for the clarification.

Patch is attached, I don't have write access to the git repo so I need
help from
someone else to do it.

Let me know if I need to do something else !

[-- Attachment #2: Add-embedded-location-syntax-flag.patch --]
[-- Type: application/octet-stream, Size: 3249 bytes --]

From f029ce09f44a77b8ef9ec3ce20a18a4855ccc684 Mon Sep 17 00:00:00 2001
From: Jorge Garcia <jorge.garcia.gonzalez@gmail.com>
Date: Sat, 9 Jan 2016 16:35:01 -0600
Subject: [PATCH] Add embedded location syntax flag

---
 lib-src/emacsclient.c |   40 ++++++++++++++++++++++++++++++++++------
 1 file changed, 34 insertions(+), 6 deletions(-)

diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index c3e5635..3bff612 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -151,6 +151,9 @@ int emacs_pid = 0;
    be used for the new frame.  */
 const char *frame_parameters = NULL;
 
+/* Nonzero means filename:line:column syntax support is enable  */
+int filename_with_line_col = 0;
+
 static _Noreturn void print_help_and_exit (void);
 
 
@@ -172,6 +175,7 @@ struct option longopts[] =
   { "server-file",	required_argument, NULL, 'f' },
   { "display",	required_argument, NULL, 'd' },
   { "parent-id", required_argument, NULL, 'p' },
+  { "files-with-line-col", no_argument, NULL, 'l' },
   { 0, 0, 0, 0 }
 };
 
@@ -461,9 +465,9 @@ decode_options (int argc, char **argv)
     {
       int opt = getopt_long_only (argc, argv,
 #ifndef NO_SOCKETS_IN_FILE_SYSTEM
-			     "VHneqa:s:f:d:F:tc",
+			     "lVHneqa:s:f:d:F:tc",
 #else
-			     "VHneqa:f:d:F:tc",
+				  "lVHneqa:f:d:F:tc",
 #endif
 			     longopts, 0);
 
@@ -537,6 +541,9 @@ decode_options (int argc, char **argv)
         case 'F':
           frame_parameters = optarg;
           break;
+	case 'l':
+	  filename_with_line_col = 1;
+	  break;
 
 	default:
 	  message (true, "Try '%s --help' for more information\n", progname);
@@ -637,8 +644,9 @@ The following OPTIONS are accepted:\n\
 			Editor to fallback to if the server is not running\n"
 "			If EDITOR is the empty string, start Emacs in daemon\n\
 			mode and try connecting again\n"
-"\n\
-Report bugs with M-x report-emacs-bug.\n");
+"-l --files-with-line-col\n\
+			Support embedded location syntax FILENAME[:LINE[:COLUMN]]\n"
+"Report bugs with M-x report-emacs-bug.\n");
   exit (EXIT_SUCCESS);
 }
 
@@ -1593,7 +1601,7 @@ main (int argc, char **argv)
   char string[BUFSIZ+1];
   int start_daemon_if_needed;
   int exit_status = EXIT_SUCCESS;
-
+  char *lineDst;
   main_argv = argv;
   progname = argv[0];
 
@@ -1747,6 +1755,23 @@ main (int argc, char **argv)
                   continue;
                 }
             }
+
+	  if(filename_with_line_col != 0)
+	    {
+	      lineDst = index(argv[i],':');
+	      if ( lineDst != NULL)
+		{
+		  char *p = lineDst + 1;
+		  while (isdigit ((unsigned char) *p) || *p == ':') p++;
+		  if (*p == 0)
+		    {
+		      send_to_emacs (emacs_socket, "-position ");
+		      *lineDst='+';
+		      quote_argument (emacs_socket, lineDst);
+		      send_to_emacs (emacs_socket, " ");
+		    }
+		}
+	    }
 #ifdef WINDOWSNT
 	  else if (! file_name_absolute_p (argv[i])
 		   && (isalpha (argv[i][0]) && argv[i][1] == ':'))
@@ -1768,7 +1793,10 @@ main (int argc, char **argv)
 	    }
 #endif
 
-          send_to_emacs (emacs_socket, "-file ");
+	  send_to_emacs (emacs_socket, "-file ");
+	  if(lineDst != NULL){
+	    *lineDst = 0;
+	  }
           quote_argument (emacs_socket, argv[i]);
           send_to_emacs (emacs_socket, " ");
         }
-- 
1.7.9.5


  reply	other threads:[~2016-01-12 16:24 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-07 22:35 [PATCH] add emacsclient support to open with file:linum syntax Jorge Alberto Garcia
2016-01-08  7:42 ` Yuri Khan
2016-01-08  8:08   ` Jorge Alberto Garcia
2016-01-08  8:59     ` Yuri Khan
2016-01-08 14:11       ` Jorge Alberto Garcia
2016-01-08  9:03   ` Eli Zaretskii
2016-01-08 14:13     ` Jorge Alberto Garcia
2016-01-08 15:39       ` Eli Zaretskii
2016-01-08 15:54         ` Kaushal Modi
2016-01-08 16:13           ` Jorge Alberto Garcia
2016-01-08 16:38             ` Kaushal Modi
2016-01-08 16:44               ` Jorge Alberto Garcia
2016-01-08 16:54                 ` Kaushal Modi
2016-01-08 17:52                   ` Jorge Alberto Garcia
2016-01-08 19:06                     ` Eli Zaretskii
2016-01-08 19:05                   ` Eli Zaretskii
2016-01-12 21:04                     ` John Wiegley
2016-01-12 21:26                       ` Jorge Alberto Garcia
2016-01-13  0:10                         ` John Wiegley
2016-01-13  0:46                           ` Jorge Alberto Garcia
2016-03-29 16:22                             ` Kaushal Modi
2016-03-29 17:30                               ` Jorge Alberto Garcia
2016-03-29 21:27                                 ` Paul Eggert
2016-03-29 22:35                                   ` Kaushal Modi
2016-03-29 23:08                                     ` Paul Eggert
2016-03-29 23:29                                       ` Jorge Alberto Garcia
2016-03-30  0:37                                         ` Paul Eggert
2016-03-30 14:21                                           ` Kaushal Modi
2016-03-30 16:42                                             ` Jorge Alberto Garcia
2016-03-31 12:31                                             ` Stefan Monnier
2016-03-31 14:24                                               ` Jorge Alberto Garcia
2016-01-08 19:19                   ` David Caldwell
2016-01-08 19:43                     ` Eli Zaretskii
2016-01-08 19:52                       ` David Caldwell
2016-01-08 20:33                         ` Jorge Alberto Garcia
2016-01-09 22:51                           ` Jorge Alberto Garcia
2016-01-10  8:22                             ` Yuri Khan
2016-01-10  8:37                               ` Jorge Alberto Garcia
2016-01-12 16:24                                 ` Jorge Alberto Garcia [this message]
2016-01-08 16:10         ` Jorge Alberto Garcia
  -- strict thread matches above, loose matches on Subject: below --
2017-02-09  9:58 Toon Claes
2017-02-09 13:22 ` Stefan Monnier
2017-02-14 13:57   ` Toon Claes

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='CAPfrtUf6wR=tmEWdKJOW1OGqkV5_SJSfTbBxB7VBtYpuqog+=A@mail.gmail.com' \
    --to=jorge.garcia.gonzalez@gmail.com \
    --cc=david@porkrind.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=kaushal.modi@gmail.com \
    --cc=yuri.v.khan@gmail.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).