What's the purpose of 47 blank lines in X11 locale files?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
3
down vote

favorite












I noticed there are 47 blanks lines on top of locale files:



xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.alias | head
00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
00000040 74 61 69 6e 73 20 61 6c 69 61 73 20 6e 61 6d 65 |tains alias name|
00000050 20 6f 66 20 6c 6f 63 61 6c 65 2e 0a 23 09 45 61 | of locale..#.Ea|
00000060 63 68 20 61 6c 69 61 73 20 6e 61 6d 65 20 69 73 |ch alias name is|
00000070 20 64 65 73 63 72 69 62 65 64 20 77 69 74 68 69 | described withi|
00000080 6e 20 6f 6e 65 20 6c 69 6e 65 2e 0a 23 09 54 68 |n one line..#.Th|
00000090 65 20 66 69 72 73 74 20 77 6f 72 64 20 69 73 20 |e first word is |
xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.dir | head
00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
00000040 74 61 69 6e 73 20 6c 6f 63 61 6c 65 20 64 61 74 |tains locale dat|
00000050 61 62 61 73 65 20 66 69 6c 65 20 6e 61 6d 65 73 |abase file names|
00000060 0a 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 |.#.The first wor|
00000070 64 20 69 73 20 74 68 65 20 6c 6f 63 61 6c 65 20 |d is the locale |
00000080 64 61 74 61 62 61 73 65 20 66 69 6c 65 20 6e 61 |database file na|
00000090 6d 65 20 61 6e 64 0a 23 09 74 68 65 20 73 65 63 |me and.#.the sec|
xb@dnxb:/usr/share/X11/locale$ hexdump -Cv compose.dir | head
00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
00000040 74 61 69 6e 73 20 63 6f 6d 70 6f 73 65 20 74 61 |tains compose ta|
00000050 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 73 2e 0a |ble file names..|
00000060 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 64 |#.The first word|
00000070 20 69 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 20 | is the compose |
00000080 74 61 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 0a |table file name.|
00000090 23 09 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 |#.and the second|
xb@dnxb:/usr/share/X11/locale$ hexdump -Cv C/XLC_LOCALE | head
00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
00000030 20 20 58 4c 6f 63 61 6c 65 20 44 61 74 61 62 61 | XLocale Databa|
00000040 73 65 20 53 61 6d 70 6c 65 20 66 6f 72 20 43 2e |se Sample for C.|
00000050 0a 23 20 0a 0a 23 20 0a 23 20 09 58 4c 43 5f 46 |.# ..# .# .XLC_F|
00000060 4f 4e 54 53 45 54 20 63 61 74 65 67 6f 72 79 0a |ONTSET category.|
00000070 23 20 0a 58 4c 43 5f 46 4f 4e 54 53 45 54 0a 23 |# .XLC_FONTSET.#|
00000080 20 09 66 73 30 20 63 6c 61 73 73 20 28 37 20 62 | .fs0 class (7 b|
00000090 69 74 20 41 53 43 49 49 29 0a 66 73 30 09 7b 0a |it ASCII).fs0.{.|
xb@dnxb:/usr/share/X11/locale$


I probably will not scroll down if I only vi the file and see blank page, I only noticed this if I cat it. I check this spec but seems not mention anything about 47 blank lines. What's the purpose of this 47 blank lines at the beginning of locale files ?







share|improve this question























    up vote
    3
    down vote

    favorite












    I noticed there are 47 blanks lines on top of locale files:



    xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.alias | head
    00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
    00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
    00000040 74 61 69 6e 73 20 61 6c 69 61 73 20 6e 61 6d 65 |tains alias name|
    00000050 20 6f 66 20 6c 6f 63 61 6c 65 2e 0a 23 09 45 61 | of locale..#.Ea|
    00000060 63 68 20 61 6c 69 61 73 20 6e 61 6d 65 20 69 73 |ch alias name is|
    00000070 20 64 65 73 63 72 69 62 65 64 20 77 69 74 68 69 | described withi|
    00000080 6e 20 6f 6e 65 20 6c 69 6e 65 2e 0a 23 09 54 68 |n one line..#.Th|
    00000090 65 20 66 69 72 73 74 20 77 6f 72 64 20 69 73 20 |e first word is |
    xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.dir | head
    00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
    00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
    00000040 74 61 69 6e 73 20 6c 6f 63 61 6c 65 20 64 61 74 |tains locale dat|
    00000050 61 62 61 73 65 20 66 69 6c 65 20 6e 61 6d 65 73 |abase file names|
    00000060 0a 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 |.#.The first wor|
    00000070 64 20 69 73 20 74 68 65 20 6c 6f 63 61 6c 65 20 |d is the locale |
    00000080 64 61 74 61 62 61 73 65 20 66 69 6c 65 20 6e 61 |database file na|
    00000090 6d 65 20 61 6e 64 0a 23 09 74 68 65 20 73 65 63 |me and.#.the sec|
    xb@dnxb:/usr/share/X11/locale$ hexdump -Cv compose.dir | head
    00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
    00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
    00000040 74 61 69 6e 73 20 63 6f 6d 70 6f 73 65 20 74 61 |tains compose ta|
    00000050 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 73 2e 0a |ble file names..|
    00000060 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 64 |#.The first word|
    00000070 20 69 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 20 | is the compose |
    00000080 74 61 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 0a |table file name.|
    00000090 23 09 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 |#.and the second|
    xb@dnxb:/usr/share/X11/locale$ hexdump -Cv C/XLC_LOCALE | head
    00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
    00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
    00000030 20 20 58 4c 6f 63 61 6c 65 20 44 61 74 61 62 61 | XLocale Databa|
    00000040 73 65 20 53 61 6d 70 6c 65 20 66 6f 72 20 43 2e |se Sample for C.|
    00000050 0a 23 20 0a 0a 23 20 0a 23 20 09 58 4c 43 5f 46 |.# ..# .# .XLC_F|
    00000060 4f 4e 54 53 45 54 20 63 61 74 65 67 6f 72 79 0a |ONTSET category.|
    00000070 23 20 0a 58 4c 43 5f 46 4f 4e 54 53 45 54 0a 23 |# .XLC_FONTSET.#|
    00000080 20 09 66 73 30 20 63 6c 61 73 73 20 28 37 20 62 | .fs0 class (7 b|
    00000090 69 74 20 41 53 43 49 49 29 0a 66 73 30 09 7b 0a |it ASCII).fs0.{.|
    xb@dnxb:/usr/share/X11/locale$


    I probably will not scroll down if I only vi the file and see blank page, I only noticed this if I cat it. I check this spec but seems not mention anything about 47 blank lines. What's the purpose of this 47 blank lines at the beginning of locale files ?







    share|improve this question





















      up vote
      3
      down vote

      favorite









      up vote
      3
      down vote

      favorite











      I noticed there are 47 blanks lines on top of locale files:



      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.alias | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
      00000040 74 61 69 6e 73 20 61 6c 69 61 73 20 6e 61 6d 65 |tains alias name|
      00000050 20 6f 66 20 6c 6f 63 61 6c 65 2e 0a 23 09 45 61 | of locale..#.Ea|
      00000060 63 68 20 61 6c 69 61 73 20 6e 61 6d 65 20 69 73 |ch alias name is|
      00000070 20 64 65 73 63 72 69 62 65 64 20 77 69 74 68 69 | described withi|
      00000080 6e 20 6f 6e 65 20 6c 69 6e 65 2e 0a 23 09 54 68 |n one line..#.Th|
      00000090 65 20 66 69 72 73 74 20 77 6f 72 64 20 69 73 20 |e first word is |
      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.dir | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
      00000040 74 61 69 6e 73 20 6c 6f 63 61 6c 65 20 64 61 74 |tains locale dat|
      00000050 61 62 61 73 65 20 66 69 6c 65 20 6e 61 6d 65 73 |abase file names|
      00000060 0a 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 |.#.The first wor|
      00000070 64 20 69 73 20 74 68 65 20 6c 6f 63 61 6c 65 20 |d is the locale |
      00000080 64 61 74 61 62 61 73 65 20 66 69 6c 65 20 6e 61 |database file na|
      00000090 6d 65 20 61 6e 64 0a 23 09 74 68 65 20 73 65 63 |me and.#.the sec|
      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv compose.dir | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
      00000040 74 61 69 6e 73 20 63 6f 6d 70 6f 73 65 20 74 61 |tains compose ta|
      00000050 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 73 2e 0a |ble file names..|
      00000060 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 64 |#.The first word|
      00000070 20 69 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 20 | is the compose |
      00000080 74 61 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 0a |table file name.|
      00000090 23 09 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 |#.and the second|
      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv C/XLC_LOCALE | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 20 20 58 4c 6f 63 61 6c 65 20 44 61 74 61 62 61 | XLocale Databa|
      00000040 73 65 20 53 61 6d 70 6c 65 20 66 6f 72 20 43 2e |se Sample for C.|
      00000050 0a 23 20 0a 0a 23 20 0a 23 20 09 58 4c 43 5f 46 |.# ..# .# .XLC_F|
      00000060 4f 4e 54 53 45 54 20 63 61 74 65 67 6f 72 79 0a |ONTSET category.|
      00000070 23 20 0a 58 4c 43 5f 46 4f 4e 54 53 45 54 0a 23 |# .XLC_FONTSET.#|
      00000080 20 09 66 73 30 20 63 6c 61 73 73 20 28 37 20 62 | .fs0 class (7 b|
      00000090 69 74 20 41 53 43 49 49 29 0a 66 73 30 09 7b 0a |it ASCII).fs0.{.|
      xb@dnxb:/usr/share/X11/locale$


      I probably will not scroll down if I only vi the file and see blank page, I only noticed this if I cat it. I check this spec but seems not mention anything about 47 blank lines. What's the purpose of this 47 blank lines at the beginning of locale files ?







      share|improve this question











      I noticed there are 47 blanks lines on top of locale files:



      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.alias | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
      00000040 74 61 69 6e 73 20 61 6c 69 61 73 20 6e 61 6d 65 |tains alias name|
      00000050 20 6f 66 20 6c 6f 63 61 6c 65 2e 0a 23 09 45 61 | of locale..#.Ea|
      00000060 63 68 20 61 6c 69 61 73 20 6e 61 6d 65 20 69 73 |ch alias name is|
      00000070 20 64 65 73 63 72 69 62 65 64 20 77 69 74 68 69 | described withi|
      00000080 6e 20 6f 6e 65 20 6c 69 6e 65 2e 0a 23 09 54 68 |n one line..#.Th|
      00000090 65 20 66 69 72 73 74 20 77 6f 72 64 20 69 73 20 |e first word is |
      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv locale.dir | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
      00000040 74 61 69 6e 73 20 6c 6f 63 61 6c 65 20 64 61 74 |tains locale dat|
      00000050 61 62 61 73 65 20 66 69 6c 65 20 6e 61 6d 65 73 |abase file names|
      00000060 0a 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 |.#.The first wor|
      00000070 64 20 69 73 20 74 68 65 20 6c 6f 63 61 6c 65 20 |d is the locale |
      00000080 64 61 74 61 62 61 73 65 20 66 69 6c 65 20 6e 61 |database file na|
      00000090 6d 65 20 61 6e 64 0a 23 09 74 68 65 20 73 65 63 |me and.#.the sec|
      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv compose.dir | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 0a 23 09 54 68 69 73 20 66 69 6c 65 20 63 6f 6e |.#.This file con|
      00000040 74 61 69 6e 73 20 63 6f 6d 70 6f 73 65 20 74 61 |tains compose ta|
      00000050 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 73 2e 0a |ble file names..|
      00000060 23 09 54 68 65 20 66 69 72 73 74 20 77 6f 72 64 |#.The first word|
      00000070 20 69 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 20 | is the compose |
      00000080 74 61 62 6c 65 20 66 69 6c 65 20 6e 61 6d 65 0a |table file name.|
      00000090 23 09 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 |#.and the second|
      xb@dnxb:/usr/share/X11/locale$ hexdump -Cv C/XLC_LOCALE | head
      00000000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000010 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................|
      00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 23 |...............#|
      00000030 20 20 58 4c 6f 63 61 6c 65 20 44 61 74 61 62 61 | XLocale Databa|
      00000040 73 65 20 53 61 6d 70 6c 65 20 66 6f 72 20 43 2e |se Sample for C.|
      00000050 0a 23 20 0a 0a 23 20 0a 23 20 09 58 4c 43 5f 46 |.# ..# .# .XLC_F|
      00000060 4f 4e 54 53 45 54 20 63 61 74 65 67 6f 72 79 0a |ONTSET category.|
      00000070 23 20 0a 58 4c 43 5f 46 4f 4e 54 53 45 54 0a 23 |# .XLC_FONTSET.#|
      00000080 20 09 66 73 30 20 63 6c 61 73 73 20 28 37 20 62 | .fs0 class (7 b|
      00000090 69 74 20 41 53 43 49 49 29 0a 66 73 30 09 7b 0a |it ASCII).fs0.{.|
      xb@dnxb:/usr/share/X11/locale$


      I probably will not scroll down if I only vi the file and see blank page, I only noticed this if I cat it. I check this spec but seems not mention anything about 47 blank lines. What's the purpose of this 47 blank lines at the beginning of locale files ?









      share|improve this question










      share|improve this question




      share|improve this question









      asked Apr 27 at 15:52









      林果皞

      2,1931227




      2,1931227




















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          2
          down vote



          accepted










          I'm pretty sure its not really there for any reason; it's a side-effect of how those files are built. If you take a look at the source for locale.alias, you'll see they're missing (note the numbers on the left are added line numbers, they're not actually present in the file):



          1 XCOMM
          2 XCOMM This file contains alias name of locale.
          3 XCOMM Each alias name is described within one line.
          4 XCOMM The first word is the alias name (simplified locale name)
          5 XCOMM the second word is full locale name.
          6 XCOMM
          7 XCOMM

          8 POSIX: C
          9 POSIX-UTF2: C


          If you look at the Makefile.am that is passed through a fair bit of C preprocessor and sed to generate the file:



          locale.alias: locale.alias.pre
          $(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $(srcdir)/locale.alias.pre | $(CPP_SED_MAGIC) > locale.alias.l1
          $(SED) -e '/^[^#][^ ]*:/s/://' -e '/^[^#].*[ ].*:/d'
          < locale.alias.l1 > locale.alias.l2
          cat locale.alias.l2 locale.alias.l1 > locale.alias


          If you look at Makefile.in, CPP_SED_MAGIC is:



          CPP_SED_MAGIC = $(SED) -e '/^# *[0-9][0-9]* *.*$$/d' 
          -e '/^#line *[0-9][0-9]* *.*$$/d'
          -e '/^[ ]*XCOMM$$/s/XCOMM/#/'
          -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/'
          -e '/^[ ]*XHASH/s/XHASH/#/'
          -e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g'
          -e '/@@$$/s/@@$$/\/'


          Which, among other things, replaces all the line-number comments the C preprocessor spits out with blank lines. So that's where they're coming from.






          share|improve this answer





















            Your Answer







            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "106"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            convertImagesToLinks: false,
            noModals: false,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );








             

            draft saved


            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f440463%2fwhats-the-purpose-of-47-blank-lines-in-x11-locale-files%23new-answer', 'question_page');

            );

            Post as a guest






























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            2
            down vote



            accepted










            I'm pretty sure its not really there for any reason; it's a side-effect of how those files are built. If you take a look at the source for locale.alias, you'll see they're missing (note the numbers on the left are added line numbers, they're not actually present in the file):



            1 XCOMM
            2 XCOMM This file contains alias name of locale.
            3 XCOMM Each alias name is described within one line.
            4 XCOMM The first word is the alias name (simplified locale name)
            5 XCOMM the second word is full locale name.
            6 XCOMM
            7 XCOMM

            8 POSIX: C
            9 POSIX-UTF2: C


            If you look at the Makefile.am that is passed through a fair bit of C preprocessor and sed to generate the file:



            locale.alias: locale.alias.pre
            $(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $(srcdir)/locale.alias.pre | $(CPP_SED_MAGIC) > locale.alias.l1
            $(SED) -e '/^[^#][^ ]*:/s/://' -e '/^[^#].*[ ].*:/d'
            < locale.alias.l1 > locale.alias.l2
            cat locale.alias.l2 locale.alias.l1 > locale.alias


            If you look at Makefile.in, CPP_SED_MAGIC is:



            CPP_SED_MAGIC = $(SED) -e '/^# *[0-9][0-9]* *.*$$/d' 
            -e '/^#line *[0-9][0-9]* *.*$$/d'
            -e '/^[ ]*XCOMM$$/s/XCOMM/#/'
            -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/'
            -e '/^[ ]*XHASH/s/XHASH/#/'
            -e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g'
            -e '/@@$$/s/@@$$/\/'


            Which, among other things, replaces all the line-number comments the C preprocessor spits out with blank lines. So that's where they're coming from.






            share|improve this answer

























              up vote
              2
              down vote



              accepted










              I'm pretty sure its not really there for any reason; it's a side-effect of how those files are built. If you take a look at the source for locale.alias, you'll see they're missing (note the numbers on the left are added line numbers, they're not actually present in the file):



              1 XCOMM
              2 XCOMM This file contains alias name of locale.
              3 XCOMM Each alias name is described within one line.
              4 XCOMM The first word is the alias name (simplified locale name)
              5 XCOMM the second word is full locale name.
              6 XCOMM
              7 XCOMM

              8 POSIX: C
              9 POSIX-UTF2: C


              If you look at the Makefile.am that is passed through a fair bit of C preprocessor and sed to generate the file:



              locale.alias: locale.alias.pre
              $(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $(srcdir)/locale.alias.pre | $(CPP_SED_MAGIC) > locale.alias.l1
              $(SED) -e '/^[^#][^ ]*:/s/://' -e '/^[^#].*[ ].*:/d'
              < locale.alias.l1 > locale.alias.l2
              cat locale.alias.l2 locale.alias.l1 > locale.alias


              If you look at Makefile.in, CPP_SED_MAGIC is:



              CPP_SED_MAGIC = $(SED) -e '/^# *[0-9][0-9]* *.*$$/d' 
              -e '/^#line *[0-9][0-9]* *.*$$/d'
              -e '/^[ ]*XCOMM$$/s/XCOMM/#/'
              -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/'
              -e '/^[ ]*XHASH/s/XHASH/#/'
              -e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g'
              -e '/@@$$/s/@@$$/\/'


              Which, among other things, replaces all the line-number comments the C preprocessor spits out with blank lines. So that's where they're coming from.






              share|improve this answer























                up vote
                2
                down vote



                accepted







                up vote
                2
                down vote



                accepted






                I'm pretty sure its not really there for any reason; it's a side-effect of how those files are built. If you take a look at the source for locale.alias, you'll see they're missing (note the numbers on the left are added line numbers, they're not actually present in the file):



                1 XCOMM
                2 XCOMM This file contains alias name of locale.
                3 XCOMM Each alias name is described within one line.
                4 XCOMM The first word is the alias name (simplified locale name)
                5 XCOMM the second word is full locale name.
                6 XCOMM
                7 XCOMM

                8 POSIX: C
                9 POSIX-UTF2: C


                If you look at the Makefile.am that is passed through a fair bit of C preprocessor and sed to generate the file:



                locale.alias: locale.alias.pre
                $(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $(srcdir)/locale.alias.pre | $(CPP_SED_MAGIC) > locale.alias.l1
                $(SED) -e '/^[^#][^ ]*:/s/://' -e '/^[^#].*[ ].*:/d'
                < locale.alias.l1 > locale.alias.l2
                cat locale.alias.l2 locale.alias.l1 > locale.alias


                If you look at Makefile.in, CPP_SED_MAGIC is:



                CPP_SED_MAGIC = $(SED) -e '/^# *[0-9][0-9]* *.*$$/d' 
                -e '/^#line *[0-9][0-9]* *.*$$/d'
                -e '/^[ ]*XCOMM$$/s/XCOMM/#/'
                -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/'
                -e '/^[ ]*XHASH/s/XHASH/#/'
                -e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g'
                -e '/@@$$/s/@@$$/\/'


                Which, among other things, replaces all the line-number comments the C preprocessor spits out with blank lines. So that's where they're coming from.






                share|improve this answer













                I'm pretty sure its not really there for any reason; it's a side-effect of how those files are built. If you take a look at the source for locale.alias, you'll see they're missing (note the numbers on the left are added line numbers, they're not actually present in the file):



                1 XCOMM
                2 XCOMM This file contains alias name of locale.
                3 XCOMM Each alias name is described within one line.
                4 XCOMM The first word is the alias name (simplified locale name)
                5 XCOMM the second word is full locale name.
                6 XCOMM
                7 XCOMM

                8 POSIX: C
                9 POSIX-UTF2: C


                If you look at the Makefile.am that is passed through a fair bit of C preprocessor and sed to generate the file:



                locale.alias: locale.alias.pre
                $(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $(srcdir)/locale.alias.pre | $(CPP_SED_MAGIC) > locale.alias.l1
                $(SED) -e '/^[^#][^ ]*:/s/://' -e '/^[^#].*[ ].*:/d'
                < locale.alias.l1 > locale.alias.l2
                cat locale.alias.l2 locale.alias.l1 > locale.alias


                If you look at Makefile.in, CPP_SED_MAGIC is:



                CPP_SED_MAGIC = $(SED) -e '/^# *[0-9][0-9]* *.*$$/d' 
                -e '/^#line *[0-9][0-9]* *.*$$/d'
                -e '/^[ ]*XCOMM$$/s/XCOMM/#/'
                -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/'
                -e '/^[ ]*XHASH/s/XHASH/#/'
                -e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g'
                -e '/@@$$/s/@@$$/\/'


                Which, among other things, replaces all the line-number comments the C preprocessor spits out with blank lines. So that's where they're coming from.







                share|improve this answer













                share|improve this answer



                share|improve this answer











                answered Apr 27 at 16:37









                derobert

                68.4k8147203




                68.4k8147203






















                     

                    draft saved


                    draft discarded


























                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f440463%2fwhats-the-purpose-of-47-blank-lines-in-x11-locale-files%23new-answer', 'question_page');

                    );

                    Post as a guest













































































                    Popular posts from this blog

                    How to check contact read email or not when send email to Individual?

                    Bahrain

                    Postfix configuration issue with fips on centos 7; mailgun relay