コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2025年11月13日 >>> 2025年10月31日
link もっと後

2025年10月31日

GNU global + pygmentsトラブルシューティングUbuntu編

目次: Linux

先日(2025年10月27日の日記参照)はGNU global + pygmentsでC/C++/Pythonのタグジャンプができる環境を整えましたが、微妙に動かない事態に遭遇したのでトラブルシューティングのメモを残しておきます。

global + pygmentsのトラブルシューティング: Ubuntu 24.04

Ubuntu 24.04は定義や参照へのジャンプができるため機能的には問題ありませんが、gtagsを実行する度に妙な警告が出ます。

Ubuntu 24.04で実行したときの警告
$ gtags --gtagslabel=pygments

/usr/share/global/gtags/script/pygments_parser.py:92: SyntaxWarning: invalid escape sequence '\s'
  tag = re.sub('\s+', '', tag)    # remove newline and spaces
/usr/share/global/gtags/script/pygments_parser.py:161: SyntaxWarning: invalid escape sequence '\s'
  match = re.search(r'(\S+)\s+(\d+)\s+' + re.escape(path) + '\s+(.*)$', line)

エラーの箇所を見るとglobalのヘルパースクリプト(/usr/share/global/gtags/script/pygments_parser.py)が間違っているっぽいので、下記のように修正すると警告が出なくなります。

globalのヘルパースクリプトの変更点
--- pygments_parser.py.org	2025-10-26 22:48:13.811340349 +0900
+++ pygments_parser.py	2025-10-26 22:47:41.250646696 +0900
@@ -89,7 +89,7 @@
                     # we can assume index are delivered in ascending order
                     while self.lines_index[cur_line] <= index:
                         cur_line += 1
-                    tag = re.sub('\s+', '', tag)    # remove newline and spaces
+                    tag = re.sub(r'\s+', '', tag)    # remove newline and spaces
                     if self.options.strip_punctuation:
                         tag = tag.strip(PUNCTUATION_CHARACTERS)
                     if tag:
@@ -158,7 +158,7 @@
             line = self.child_stdout.readline()
             if not line or line.startswith(TERMINATOR):
                 break
-            match = re.search(r'(\S+)\s+(\d+)\s+' + re.escape(path) + '\s+(.*)$', line)
+            match = re.search(r'(\S+)\s+(\d+)\s+' + re.escape(path) + r'\s+(.*)$', line)
             if match:
                 (tag, lnum, image) = match.groups()
                 if self.options.strip_punctuation:

この現象を確認した環境は以下の通りです。

globalとpygmentsのバージョン(Ubuntu 24.04)
$ global --version

global (GNU Global) 6.6.11
Powered by Berkeley DB 1.85 and SQLite3 3.45.1.
Copyright (c) 1996-2023 Tama Communications Corporation
License GPLv3+: GNU GPL version 3 or later <http://www.gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

$ dpkg -l | grep global

ii  global                      6.6.11-1                     amd64        Source code search and browse tools


$ pygmentize -V

Pygments version 2.17.2, (c) 2006-2023 by Georg Brandl, Matthäus Chajdas and contributors.

$ dpkg -l | grep pygme

ii  python3-pygments            2.17.2+dfsg-1                all          syntax highlighting package written in Python 3

だいぶ長くなってしまいましたが、これでDebian/Ubuntuともに快適globalタグジャンプ生活が送れるはずです。やったぜ。

編集者:すずき(2025/11/02 03:19)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2025年11月13日 >>> 2025年10月31日
link もっと後

管理用メニュー

link 記事を新規作成

<2025>
<<<11>>>
------1
2345678
9101112131415
16171819202122
23242526272829
30------

最近のコメント5件

  • link 25年10月6日
    すずきさん (10/10 13:14)
    「ですね。ccはもはやコンパイラというより...」
  • link 25年10月6日
    hdkさん (10/10 08:27)
    「ただのHello, worldでも試して...」
  • link 25年9月29日
    すずきさん (10/03 00:29)
    「なんと、メタパッケージ入れてなかったです...」
  • link 25年9月29日
    hdkさん (10/02 06:51)
    「あれ、dkmsは自動ビルドされるのが便利...」
  • link 20年8月24日
    すずきさん (08/30 22:06)
    「ですね、自分も今はPulseAudioを...」

最近の記事3件

  • link 25年5月1日
    すずき (11/07 13:52)
    「[首都高バトルSteam版、フルチューン後の姿 - その3] 目次: ゲーム首都高バトル(Steam版)高ランクの車をひたすら...」
  • link 23年4月10日
    すずき (11/04 16:20)
    「[Linux - まとめリンク] 目次: Linuxカーネル、ドライバ関連。Linux kernel 2.4 for ARMが...」
  • link 09年5月18日
    すずき (11/04 16:19)
    「[ffmpegとlibx264] 目次: LinuxせっかくDVDという長めの映像コンテンツが手元にあるので、ffmpegで変...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 2025年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 11/07 13:52