From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Andrew Whatson Newsgroups: gmane.lisp.guile.devel Subject: [PATCH] Properly display locations in "source vector" form. Date: Fri, 26 Aug 2022 19:50:21 +1000 Message-ID: <20220826095021.2556-1-whatson@gmail.com> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4485"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Andrew Whatson To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Fri Aug 26 11:51:13 2022 Return-path: Envelope-to: guile-devel@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 1oRVzd-000125-4W for guile-devel@m.gmane-mx.org; Fri, 26 Aug 2022 11:51:13 +0200 Original-Received: from localhost ([::1]:54486 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oRVza-0004pp-Ha for guile-devel@m.gmane-mx.org; Fri, 26 Aug 2022 05:51:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34192) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oRVzL-0004pc-Kk for guile-devel@gnu.org; Fri, 26 Aug 2022 05:50:55 -0400 Original-Received: from mail-pg1-x52d.google.com ([2607:f8b0:4864:20::52d]:36635) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oRVzG-0005bb-E3 for guile-devel@gnu.org; Fri, 26 Aug 2022 05:50:55 -0400 Original-Received: by mail-pg1-x52d.google.com with SMTP id s206so952713pgs.3 for ; Fri, 26 Aug 2022 02:50:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc; bh=0axG8xbCa5H9UDYBSRvWitHcxwPme+FlUx/BDUino6k=; b=itlbagvBKg2tnG3gWjdRNaWYsCOsndFKxG0ZAhH5XD+Ay761VnHcZd+BpCg7DVKgaO 2t2XmMC6BQLmmvazJh5GmXKZH+Lhg9CxIMeY9tMQd01SM9L3CNKRP+n9TpvOSX0cNxTS tg++ZhzirA6SIz1Ix6t71+VdS9fNVTtUIo4kazJUwx8PRpsI59fxE/JL/UUD+G2lMrck TS5IwcBHxAx55QgdQanxRs8oWdhN/xBAk/XmhPFWLH/CO84jEFZpQ03sX2rk1n4T53bI UXi2ZzUGqObxxIqSOy0pg9EM/hnmh7/sV8SRoBHzJTl9DwCyCKFeFHhEhACiiOPaWANx 0zbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc; bh=0axG8xbCa5H9UDYBSRvWitHcxwPme+FlUx/BDUino6k=; b=QqCEtkCACebVQ/ZKj9k7JSQnXejfdxaSKoQ8fPuBs0jNFSeFO2RHppWyAL+wCdxxxn N0VnwDugPEGFQ95EzMwV/5oGMbO/BhIzfvlbllkMw7u2C10Tiwj5ymokK5jihlbxox81 SgnCOgojK6IQXabt3BGM2BP6I+ke05LAKUtTrKZzVx2Q1xkiKI6LtyqEfl/loxNcIr6w 7k8e0GqRiPHNy+RO7q1uSvxY5UwdbkQM9HIq72pEK+4mtq99WIt4Aqiq6/50bY4rUpnW QTogzD1C7ar+MtJhY3BpFlLkaPazuILfUztdH7fZ44bgDLiCce68QODIfb/GtlemHq28 c4ag== X-Gm-Message-State: ACgBeo0hF+UTqgFjCnjHA8AyrLW8Do0vRx07pKNV0Fgmu0dADETupB/9 4+NQyQaGLAXKzhZTR/wkAfYO4tLZ1WI= X-Google-Smtp-Source: AA6agR7IU71xicF3rC7XrZQ9c8rPF1uj4jUCCZ62WJDcS7cr3YxN2qxqtQalK9xbUvHS0KjGQK8Zsw== X-Received: by 2002:a05:6a00:2789:b0:531:c43:6290 with SMTP id bd9-20020a056a00278900b005310c436290mr3098070pfb.21.1661507448440; Fri, 26 Aug 2022 02:50:48 -0700 (PDT) Original-Received: from fumo.fritz.box (eft1854679.lnk.telstra.net. [101.187.131.186]) by smtp.gmail.com with ESMTPSA id k23-20020aa79737000000b005289ef6db79sm1290215pfg.32.2022.08.26.02.50.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Aug 2022 02:50:47 -0700 (PDT) X-Mailer: git-send-email 2.37.2 Received-SPF: pass client-ip=2607:f8b0:4864:20::52d; envelope-from=whatson@gmail.com; helo=mail-pg1-x52d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.io gmane.lisp.guile.devel:21328 Archived-At: Locations are stored in tree-il records in "source vector" form, but `location-string' was rendering these as . * module/system/base/message.scm (location-string): Support locations passed as a file/line/column vector. --- module/system/base/message.scm | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/module/system/base/message.scm b/module/system/base/message.scm index 3cd862bd4..869afa783 100644 --- a/module/system/base/message.scm +++ b/module/system/base/message.scm @@ -41,12 +41,19 @@ ;;; (define (location-string loc) - (if (pair? loc) - (format #f "~a:~a:~a" - (or (assoc-ref loc 'filename) "") - (1+ (assoc-ref loc 'line)) - (assoc-ref loc 'column)) - "")) + (define (format-loc file line column) + (format #f "~a:~a:~a" + (or file "") + (1+ line) + column)) + (match loc + (#(file line column) + (format-loc file line column)) + ((? pair? loc) + (format-loc (assoc-ref loc 'filename) + (assoc-ref loc 'line) + (assoc-ref loc 'column))) + (_ ""))) ;;; -- 2.37.2