I have my Path environment variable with a subset of the paths enclosed with quotation marks (see Figure). This gives me problems in launching some applications which need the Path variable. I opened the Control Panel and I can see that there are no quotation marks there. I also don't understand why the string with quotation marks compares twice, but the first time without quotation marks.
Any suggestion on how to modify it?
Related
When I download a .bib item from IEEEExplore, the paper title gets formatted in lowercase even if original title is not capitalized - in order to keep original formatting, I have to manually add curly brackets around the title. How do I set up JabRef to add curly braces to all the library entries so to keep the title capitalized?
I believe this is a known JabRef missing feature, see here:
https://discourse.jabref.org/t/add-around-capital-letters-automatically/222
To cleanup existing entries by adding braces around capitals, one could hope to use Quality > Cleanup Entries and then some field formatters. However, the current field formatters contain "Unprotect terms" and not the opposite.
I there there is a reason for JabRef not to automatically protect all capitals it encounters, which is that it might be desirable not to force capitalization everywhere, in order to respect conventions from specific citation styles. Protection then should be used mostly for "protected terms" like abbreviations, etc.
Jabref does provide this feature: Options > Preferences > Protected terms files. You can add new files if needed.
Of course, if the IEEE entry had curly braces and JabRef removes them, then I think that should count as a bug.
I looked at Get containing path of lua file, and I can see that:
print(debug.getinfo(1).source)
... results with e.g.:
#/Users/e/test.lua
Apparently, as a path, this is a string - but what is the "at sign"/"at character" # there for; what does it mean?
It was otherwise quite difficult finding anything useful related to this, by doing an internet search for Lua "at sign" (even with quotation marks)
It means that the function was defined in a file.
From the Lua 5.4 Reference Manual: 4.7 The Debug Interface
The fields of lua_Debug have the following meaning:
source: the source of the chunk that created the function. If source
starts with a '#', it means that the function was defined in a file
where the file name follows the '#'. If source starts with a '=', the
remainder of its contents describes the source in a user-dependent
manner. Otherwise, the function was defined in a string where source
is that string.
The Lua manual lists other uses of #. For example warn("#off") can be used to turn off the emission of warnings.
There seem to be only three rules about parsing the .env files: (1) they need to be encoded in UTF-8, (2) comment lines start with #, and (3) the format is VAR=VAL. But how quotation marks are parsed? Bash has it's specific rules for them, but .env are not Bash. I also found that Docker takes the quotation marks as-is. On another hand, I saw .env files using quotation marks.
Are there any formal rules? Should quotation marks be avoided in .env files, or when shouldn't they?
The Lua specs say about package.config (numbering added by me):
The first line is the directory separator string. Default is '\' for Windows and '/' for all other systems.
The second line is the character that separates templates in a path. Default is ';'.
The third line is the string that marks the substitution points in a template. Default is '?'.
The fourth line is a string that, in a path in Windows, is replaced by the executable's directory. Default is '!'.
The fifth line is a mark to ignore all text before it when building the luaopen_ function name. Default is '-'.
My paraphrasing:
Absolutely clear (example for Windows/other systems makes it fool proof)
There can be multiple paths in a path string. They are separated by this symbol (; by default).
Wherever Lua finds this character in the path string (? by default), it will replace it with the module name supplied to the require or package.searchpath functions and check whether that file exists.
So far, so good, but the last two lines aren't entirely clear to me.
Why does it say "in a path in Windows"? Does that mean on other platforms, this doesn't have any significance? If so, why?
It took me a while to make sense of this, but eventually another part of the specs gave me a hint:
The name of this C function is the string "luaopen_" concatenated with a copy of the module name where each dot is replaced by an underscore. Moreover, if the module name has a hyphen, its prefix up to (and including) the first hyphen is removed. For instance, if the module name is a.v1-b.c, the function name will be luaopen_b_c.
So is this symbol (- by default) intended to make different versions of a library available at the same time – potentially with an unprefixed symlink to the newest version so that the same library would be accessible on two paths (i.e. under two module names), but with only one C symbol name?
4: Applications for Linux have libraries installed system-wide; however, for Windows, libraries can be installed in the current directory.
5: Versioning and project forking, I believe, would be the reason behind this.
Inserting (pasting from clipboard) of text constants in the Delphi code editor requires some manual "postprocessing" ...
split up long text into multiple lines (and insert the string concatenation symbol)
escape quotes (replace single quotes with double quotes)
enclose the string with quotes
keep original white space (leading blanks, line feeds)
Is there a IDE plugin available which helps to reduce these manual steps?
try this expert (sorry for russian, there is a gif that shows what it can do)