From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Perry Smith via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#58626: Proposed changes to implement opening URLs on macOS Date: Tue, 18 Oct 2022 17:53:22 -0500 Message-ID: <378CF744-E39E-490C-9CFF-E65CB325BE25@icloud.com> Reply-To: Perry Smith Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_6571DF02-165E-4CDC-B35F-070E0D216D4A" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33002"; mail-complaints-to="usenet@ciao.gmane.io" To: 58626@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Oct 19 13:07:59 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ol6vW-0008J6-Ry for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 19 Oct 2022 13:07:58 +0200 Original-Received: from localhost ([::1]:52216 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ol6vU-0007G0-1w for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 19 Oct 2022 07:07:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50694) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ol6uc-0007Am-HM for bug-gnu-emacs@gnu.org; Wed, 19 Oct 2022 07:07:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:56905) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ol6uc-0000gu-8r for bug-gnu-emacs@gnu.org; Wed, 19 Oct 2022 07:07:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ol6uc-0007DF-3T for bug-gnu-emacs@gnu.org; Wed, 19 Oct 2022 07:07:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Perry Smith Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 19 Oct 2022 11:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 58626 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.166617757627626 (code B ref -1); Wed, 19 Oct 2022 11:07:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 19 Oct 2022 11:06:16 +0000 Original-Received: from localhost ([127.0.0.1]:55965 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ol6tf-0007BJ-Tf for submit@debbugs.gnu.org; Wed, 19 Oct 2022 07:06:15 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:49216) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1okvSl-0008PV-NK for submit@debbugs.gnu.org; Tue, 18 Oct 2022 18:53:34 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48420) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1okvSl-0006Y9-GI for bug-gnu-emacs@gnu.org; Tue, 18 Oct 2022 18:53:31 -0400 Original-Received: from ms11p00im-qufo17282101.me.com ([17.58.38.58]:35818) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1okvSj-0002TT-CR for bug-gnu-emacs@gnu.org; Tue, 18 Oct 2022 18:53:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; t=1666133604; bh=4iJyBA0fHbLie/9jzR/hBivemUs1FCdp1h9d/zpbOe0=; h=From:Content-Type:Mime-Version:Subject:Message-Id:Date:To; b=i1m+Siattg4q2vuVPM4edQrKrM7LzYKGsXHioqQ3hmJYZI9upjlx+U78Lncz1O72P xSQ6MKOUSzbW25ifnLIabLOqt90UsLazSofRpfqdBWqBWn2mcQER8mVKCWqpYYySf1 vVQ1Gk9Un+ZpqQ8/paXgvJaOK1GYUh9QsvwDOUWTXw7XzePObj8Ad3f5UDi3F5jHbB Y1fXQN5lCuVK/h2wmm4HSk83+FREAvusoFxYBRb0I5aJFFcjfay9cnOAc+tdOaVSGj sMa82bZy5XQiWetcfXo8ospMj92fKu8kSbTVoY34KuwM2gd/eLNj+DMegpqVM1/uF1 6bG37/1M7eCUA== Original-Received: from smtpclient.apple (ms11p00im-dlb-asmtpmailmevip.me.com [17.57.154.19]) by ms11p00im-qufo17282101.me.com (Postfix) with ESMTPSA id 8CD438C05BB for ; Tue, 18 Oct 2022 22:53:24 +0000 (UTC) X-Mailer: Apple Mail (2.3696.120.41.1.1) X-Proofpoint-GUID: CpnejG2E8fLsOkePXtZUp7mGzcyn1_6O X-Proofpoint-ORIG-GUID: CpnejG2E8fLsOkePXtZUp7mGzcyn1_6O X-Proofpoint-Virus-Version: vendor=fsecure engine=1.1.170-22c6f66c430a71ce266a39bfe25bc2903e8d5c8f:6.0.138, 18.0.572, 17.11.62.513.0000000 definitions=2020-02-14_11:2020-02-14_02, 2020-02-14_11, 2021-12-02_01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 malwarescore=0 mlxlogscore=893 clxscore=1011 adultscore=0 spamscore=0 mlxscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2209130000 definitions=main-2210180129 Received-SPF: pass client-ip=17.58.38.58; envelope-from=pedzsan@icloud.com; helo=ms11p00im-qufo17282101.me.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Wed, 19 Oct 2022 07:06:02 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:245856 Archived-At: --Apple-Mail=_6571DF02-165E-4CDC-B35F-070E0D216D4A Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 NOTE: I am subscribed to this list but I do not receive emails from the list. Please CC me on replies and updates. I will also check in the archive every few days. My email to the developers list explains better why I did this.[1] The short version is an exception thrown by my Ruby on Rails app displays a stack trace with file names and line numbers. In the past, it was possible to click on the line and it would pop into Emacs. This was after adding in Mitsuharu Yamamoto mods and other effort. I wanted to recreate that facility but in such a way that it might be accepted into the main Emacs development. It appears macOS uses the scheme in URLs a lot so these changes seem to fit in with their general designs. Attached is my patch file based upon the emacs-28.2 tar ball. With these changes, I can do: open emacs:///some/path/to/file.txt#25,40 and the file opens in Emacs with lines 25-40 highlighted. Clicking a link in a browser page with the same href as above causes the same action. The fragment can be omitted entirely or can be just a single line. The comma can also be a dash or a colon. (I=E2=80=99m also going to submit a feature request to RoR to leverage = this feature.) I don=E2=80=99t claim to be a lisp programmer so feel free to clean up = what I=E2=80=99ve done. Note that the documentation says: If your delegate implements this method, AppKit does not call the application:openFile: or application:openFiles: methods. I left the code for openFile and openFiles under an **assumption** that on macOS before 10.13, openURLs will not be called and the system will fall back to the openFile and openFiles entry points but I'm not a macOS programmer either. Thank you to Daniel Martin. His reply to my email helped a lot. Thank you for your time, Perry [1] = https://lists.gnu.org/archive/html/emacs-devel/2022-10/msg01271.htmlf --Apple-Mail=_6571DF02-165E-4CDC-B35F-070E0D216D4A Content-Disposition: attachment; filename=open-url.diff.gz Content-Type: application/x-gzip; x-unix-mode=0644; name="open-url.diff.gz" Content-Transfer-Encoding: base64 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 --Apple-Mail=_6571DF02-165E-4CDC-B35F-070E0D216D4A--